habe das Gefühl, ich muss lachen/weinen, weil ich weiß, dass ich etwas Dummes/offensichtlich Falsches tue.
Ich verwende SCCM und PSADT, um Folgendes zu versuchen. Es funktioniert einwandfrei, wenn ich UNC zum Zielordner mache und das Skript ausführe, aber das Folgende passiert, wenn es in SCCM bereitgestellt wird
Ich habe jede mir einfallende Variante des Folgenden ausprobiert. Ich versuche, ein Verzeichnis von einer vernetzten VM auf einen lokalen Client zu verschieben, aber alles, was ich tun kann, ist, das LEERE Verzeichnis selbst zu kopieren
Beispiele für das, was ich versucht habe, sind
If (!(Test-Path("C:\Target\"))) {
New-Item -ItemType directory -Path "C:\Target"
Copy-Item -Path "$dirFiles\Target\*" -Destination "C:\Target\" -Recurse -Force -Verbose
}
UND
If (!(Test-Path("C:\Target\"))) {
Copy-Item -Path "$dirFiles\Target" -Destination "C:\" -Recurse -Force -Verbose
}
Und alles dazwischen, was mir einfällt. Jedes Mal bekomme ich nur den leeren Verzeichnisordner erstellt, aber keinen der Inhalte
Antwort1
Klingt nach einem Berechtigungsproblem. Da Sie SCCM verwenden, würde ich davon ausgehen, dass Sie die Funktion „Skript ausführen“ der Vorabversion verwenden. Dadurch wird das Skript als lokales Systemkonto des Computers ausgeführt, das wahrscheinlich nicht über die richtigen NTFS-Berechtigungen für Ihre Netzwerkfreigabe verfügt.
Wenn Sie sich in einer Domäne befinden: Als schneller (schmutziger und unsicherer – machen Sie diese Änderung nach dem Testen sofort rückgängig!) Test. Geben Sie Domänencomputern Lesezugriff auf den Ordner $dirFiles\target und alle untergeordneten Objekte. Wenn dies funktioniert, müssen Sie Folgendes herausfinden:
- Wie Sie Zugriffsberechtigungen für lokale Systemkonten strukturieren möchten
- Gibt an, ob das Skript in ein Paket oder eine Anwendung umgewandelt und stattdessen als angemeldeter Benutzer ausgeführt werden soll.
Sicherer, aber etwas umständlicher ist die Paketvariante.
Viel Glück