PowerShell-Löschvorgang funktioniert nur manuell, nicht per Script
Hallo an alle!
Im Rahmen meiner Datensicherung benenne ich den Ordner aus der letzten Sicherung auf dem Netzwerkshare zunächst um, indem ich den Text "ALT_" vor die Ordnerbezeichnung setzte.
Danach erstelle die neue Datensicherung
Und danach lösche ich den zuvor umbenannten Ordner.
Hierfür benutze ich folgenden Befehl:
Get-ChildItem -Path "\\NETZWERKSHARE\ALT_*" | Remove-Item -Force -recurse
Wenn ich den Befehl an der Konsole absetze, wird der Ordner auch gelöscht.
Aus der PS1-Datei heraus funktioniert das nicht.
Alle anderen Befehle (Umbenennen, Kopieren, usw.) funktionieren aber.
Hat jemand eine Idee, was die Ursache sein könnte?
Vielen Dank im Voraus.
klanax
Im Rahmen meiner Datensicherung benenne ich den Ordner aus der letzten Sicherung auf dem Netzwerkshare zunächst um, indem ich den Text "ALT_" vor die Ordnerbezeichnung setzte.
Danach erstelle die neue Datensicherung
Und danach lösche ich den zuvor umbenannten Ordner.
Hierfür benutze ich folgenden Befehl:
Get-ChildItem -Path "\\NETZWERKSHARE\ALT_*" | Remove-Item -Force -recurse
Wenn ich den Befehl an der Konsole absetze, wird der Ordner auch gelöscht.
Aus der PS1-Datei heraus funktioniert das nicht.
Alle anderen Befehle (Umbenennen, Kopieren, usw.) funktionieren aber.
Hat jemand eine Idee, was die Ursache sein könnte?
Vielen Dank im Voraus.
klanax
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5425726668
Url: https://administrator.de/contentid/5425726668
Ausgedruckt am: 21.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Aus der PS1-Datei heraus funktioniert das nicht.
Hast du die Powershell ExecutionPolicy überhaupt schon angepasst, so das Powershell Skript-Dateien ausgeführt werden dürfen?Von wo wird die PS1 ausgeführt? Taskplaner? Dann fehlen evt. Rechte zum löschen wenn diese über den falschen Account ausgeführt wird welcher keine Rechte auf dem Share besitzt, oder es Unterordner oder Dateien für die die Rechte fehlen.
Als erstes würde ich zusätzlich zur Sicherheit noch auf Ordner einschränken, das nur nebenbei:
Get-ChildItem -Path "\\SERVER\SHARE\ALT_*" -Directory | Remove-Item -Force -recurse
Zum Debugging warum es nicht geht lass dir doch einfach mal ein Log schreiben was passiert wenn du die PS1 ausführen lässt
Start-Transcript -Path "D:\temp\mylog.txt"
Get-ChildItem -Path "\\SERVER\SHARE\ALT_*" -Directory | Remove-Item -Force -recurse
Stop-Transcript
Gruß wurstel