none
SCCM 2012 Kopieren eines Ordners über batch RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte gerne per Batch-datei einen Ordner mit enthaltenen Datein auf einen Server mit Hilfe von SCCM kopieren.

    Mein Script sieht so aus:

    mkdir C:\Testordner
    copy \\SCCM01\d$\Test\Testordner\ C:\Testordner

    Wenn ich das ganze vom Client Server aus laufen lasse wird alles einwandfrei kopiert. Wenn ich es dann über den SCCM als "Package" und mit der Option "Als Administrator ausführen" lasse dann wird der Inhalt nicht kopiert.Wo habe ich da meinen Denkfehler?

    Zum anderen will ich das Programm "händisch" wieder anstossen das es nochmals läuft, kann ich das machen? Oder muss ich jedes Mal den Server aus der SCCM-Sammlung nehmen und ihn dann wieder in die Sammlung aufnehmen?

    Vielen Dank für Eure Hilfe.

    Grüße

    Andi



    Donnerstag, 13. Juni 2013 09:02

Antworten

  • Hast Du die cmd im System-Kontext mit psexec gestartet? Hast Du überhaupt gelesen und probiert was ich vorgeschlagen habe? Denn dann wäre an der Stelle gar kein DP mehr im Spiel ...

    Torsten Meringer | http://www.mssccmfaq.de

    • Als Antwort markiert Andreas Meier Sonntag, 16. Juni 2013 00:05
    Freitag, 14. Juni 2013 08:42
    Beantworter

Alle Antworten

  • "Als Admin ausführen" => es wird im System-Kontext gestartet. Also braucht der Account des Computers (der das Deployment ausführt) Berechtigungen auf d$ des ConfigMgr-Server. Logischerweise ist das nicht gut. Wenn, dann eine separate Freigabe verwenden und nicht d$ verwenden. Weiterhin macht ein Kopieren von einem UNC-Pfad wenig Sinn, denn dann hebelt man ja den DP aus (egal wo ein Client stehen würde: es wird immer (festverdrahtet) vom UNC-Pfad kopiert; auch wenn man zB "download & execute" macht; Ausnahme: Package ohne Source-Files). Besser: Inhalt des zu kopierenden Ordnes in ein ConfigMgr-Package, dieses dann auf einen DP verteilen und dann mit %~dp0 kopieren (was vom Cache oder DP funktioniert).

    Torsten Meringer | http://www.mssccmfaq.de

    Donnerstag, 13. Juni 2013 09:16
    Beantworter
  • Hallo Torsten,

    würde das ganze dann so aussehen?

    mkdir C:\Testordner
    copy \\SCCM01\d$\Test\Testordner\ "%~dp0C:\Testordner" funktioniert auch nicht. Das kann doch nicht so schwer sein einen Ordner samt Inhalt vom SCCM auf den Client zu koipieren, oder?

    Und wie kann ich das Verteilen dann erneut anstossen? Nur mit neuer Zuweisung in die Collection oder gibts da einen Trick?

    Viele Grüße

    Andi




    Donnerstag, 13. Juni 2013 09:20
  • Das kann doch nicht so schwer sein einen Ordner samt Inhalt vom SCCM auf den Client zu koipieren, oder?


    Die Frage hat mit ConfigMgr weniger zu tun, da es für diese Aufgabe nichts eingebautes gibt ...

    %~dp0 enthält den Pfad, von dem aus die Batch gestartet worden ist. Entsprechend stimmt Dein Bsp syntaktisch nicht.
    Kommt drauf an, wie genau Du das Problem insgesamt lösen willst. Wenn Du unbedingt darauf bestehst, von d$\usw zu kopieren, dann kannst Du Dir %~dp0 sparen und die Batch aus deinem Ursprungsposting verwenden. Dann müssen halt nur die Berechtigungen (Share + NTFS) passen.
    Erneut starten: über das SW-Center (wenn das Deployment 'available' ist), durch Hinzufügen eines weiteren 'schedules' im Deployment oder durch Setzen der Option "Allow users to run the program independently of assignments" im Deployment, so dass es auch im SW-Center angezeigt wird.

    Torsten Meringer | http://www.mssccmfaq.de

    Donnerstag, 13. Juni 2013 10:29
    Beantworter
  • Hallo Torsten,

    wie würdest Du die Thematik angehen mit dem Kopieren des Ordners?

    Grüße

    Andi

    Donnerstag, 13. Juni 2013 10:37
  • Besser: Inhalt des zu kopierenden Ordnes in ein ConfigMgr-Package, dieses dann auf einen DP verteilen und dann mit %~dp0 kopieren (was vom Cache oder DP funktioniert).

    Siehe oben.
    copy %~dp0 c:\Zielordner /Y

    Torsten Meringer | http://www.mssccmfaq.de

    Donnerstag, 13. Juni 2013 10:54
    Beantworter
  • Hallo Torsten,

    das ganze funktioniert einfach nicht. Egal ob ich mit %~dp0 oder ohne versuche, er kopiert mir die Dateien nicht. Ich starte die .bat auch als Administrator.

    Ich habe den Aufruf auch mit cscript.exe /c probiert, aber nix. Wenn ich diese Batch allerdings vom Server aus auf dem SCCM aufrufe dann funktioniert es, Rechte sollten doch dann kein Thema sein wenn es "Ausführen als Administrator" nutzt. Oder ist es ein Problem weil der Ordner direkt auf dem Laufwerk C liegt?

    Die ganzen Dateien liegen auch im Ordner C:\Windows\ccmcache\3q\.

    Hast Du mir ein Beispiel das funktioniert? Ich will einfach einen Ordner samt Inhalt vom DP auf den jeweiligen Client, in meinem Fall verschiedene Server, kopieren.

    Vielen Dank im Voraus.

    Viele Grüße

    Andi




    Donnerstag, 13. Juni 2013 14:09
  • Die ganzen Dateien liegen auch im Ordner C:\Windows\ccmcache\3q\.

    Dann hast Du ja schon die Quellen in einem Paket. Deshalb macht es keinen Sinn, eine Batch wie aus dem Ursprungsposting zu verwenden, denn der ConfigMgr-Client lädt die Files vom DP in den lokalen Cache. Da bleiben diese dann unangetastet liegen und Du kopierst die selben Files nochmal aus dem Netz auf C:.
    Mach mal einen Test: erstelle in C:\Windows\ccmcache\3q eine cmd (zB Test.cmd). Inhalt
    mkdir C:\Testordner
    copy %~dp0 c:\TestOrdner /Y
    pause

    Starte psexec.exe (Sysinternals Tools) mit -i -s cmd. Dann öffnet sich eine cmd. Darin wechselst Du in das C:\Windows\ccmcache\3q und startest die Test.cmd.
    Das Ergebnis wäre dann interessant.


    Torsten Meringer | http://www.mssccmfaq.de

    Freitag, 14. Juni 2013 07:51
    Beantworter
  • Hallo Torsten,

    wenn ich die cmd "normal" starte kommt Acceess denied. Wenn ich die cmd als Administrator starte funktioniert es. Allerdings kopiert das Tool nur Dateien, keine Ordner mit Inhalt. Aber warum funktioniert das kopieren von lokal und nicht vom DP aus?

    Viele Grüße

    Andi

    Freitag, 14. Juni 2013 08:36
  • Hast Du die cmd im System-Kontext mit psexec gestartet? Hast Du überhaupt gelesen und probiert was ich vorgeschlagen habe? Denn dann wäre an der Stelle gar kein DP mehr im Spiel ...

    Torsten Meringer | http://www.mssccmfaq.de

    • Als Antwort markiert Andreas Meier Sonntag, 16. Juni 2013 00:05
    Freitag, 14. Juni 2013 08:42
    Beantworter
  • Hallo Torsten,

    jetzt hat es funktioniert, vielen Dank.

    Viele Grüße

    Andi

    • Als Antwort markiert Andreas Meier Sonntag, 16. Juni 2013 00:05
    • Tag als Antwort aufgehoben Andreas Meier Sonntag, 16. Juni 2013 00:05
    Sonntag, 16. Juni 2013 00:05