Powershell Skript bleibt in Aufgabenplanung hängen
Guten Tag werte Kollegen,
ich habe ein kleines Powershell-Skript, welches bei einzelnem Aufruf auch problemlos macht, was es soll (alte Dateien löschen und neue Dateien kopieren).
Packe ich das Skript aber in die Aufgabenplanung, so bleibt das Skript auf "Wird ausgeführt" hängen.
Das Skript sieht so aus:
Der Aufruf des Skriptes erfolgt analog zu einem bereits funktionierenden Skript.
Es scheint also am Design des Skriptes zu liegen, dass dieses nicht beendet wird.
Da ich nicht der PowerShell-Experte bin, hoffe ich auf einen Hinweis, was ich am Skript noch ändern muss.
Gruß
Looser
ich habe ein kleines Powershell-Skript, welches bei einzelnem Aufruf auch problemlos macht, was es soll (alte Dateien löschen und neue Dateien kopieren).
Packe ich das Skript aber in die Aufgabenplanung, so bleibt das Skript auf "Wird ausgeführt" hängen.
Das Skript sieht so aus:
$Quelle = "D:\Backups\VeeamConfigBackup\DC01\"
$Ziel = "\\server\backup\VeeamConfigBackup\DC01"
$Zeit = ((Get-Date).AddDays(-10)).Date
$Heute = (Get-Date).Date
#Skript
Get-ChildItem $Ziel -Recurse | where {$_.LastWriteTime -lt $Zeit} | Remove-Item -force
Get-ChildItem $Quelle | where {$_.LastWriteTime -gt $Heute} | Copy-Item -Destination $Ziel
Der Aufruf des Skriptes erfolgt analog zu einem bereits funktionierenden Skript.
Es scheint also am Design des Skriptes zu liegen, dass dieses nicht beendet wird.
Da ich nicht der PowerShell-Experte bin, hoffe ich auf einen Hinweis, was ich am Skript noch ändern muss.
Gruß
Looser
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1129777463
Url: https://administrator.de/forum/powershell-skript-bleibt-in-aufgabenplanung-haengen-1129777463.html
Ausgedruckt am: 12.04.2025 um 21:04 Uhr
6 Kommentare
Neuester Kommentar

Wie immer bei sowas einfach erst mal die Probleme loggen lassen mittels
(Beachten das der Account unter dem das Script läuft auch Schreibrechte in den Logordner hat)
Dann sieht man schwarz auf weiß was Sache ist.
In der Regel sind das meist Berechtigungsprobleme wenn Scripte in der Aufgabenplanung nicht laufen. Gerade wenn man hier auf Shares mit dem falschen Account zugreift. Oft lässt man Skripte als LocalSystem laufen, vergisst aber dann in den Share- und NTFS Berechtigungen die ACLs für den Computeraccount hinzuzufügen, bzw. die Authentifizierten Benutzer.
/evo
Start-Transcript "D:\script.log"
#...... hier das Script
Stop-Transcript
Dann sieht man schwarz auf weiß was Sache ist.
In der Regel sind das meist Berechtigungsprobleme wenn Scripte in der Aufgabenplanung nicht laufen. Gerade wenn man hier auf Shares mit dem falschen Account zugreift. Oft lässt man Skripte als LocalSystem laufen, vergisst aber dann in den Share- und NTFS Berechtigungen die ACLs für den Computeraccount hinzuzufügen, bzw. die Authentifizierten Benutzer.
} | Copy-Item -Destination $Ziel
Das sollte zwar nicht dazu führen das das Skript anhält, führt aber ohne den Parameter -Force dazu das bestehende Dateien nicht überschrieben werden und ein Fehler generiert wird wenn eine Datei/Ordner mit dem selben Namen bereits existiert./evo

Na dann läufts ja. Wenn Stop-Transcript erreicht wurde ist das Skript ja durchgelaufen und nicht gehangen ...
Und auch alle CMDLets mal mit dem -Verbose Parameter erweitern.
Der verwendete Account hat die benötigten Berechtigungen. Führe ich das Skript manuell als eben dieser User aus, funktioniert es auch, wie erwartet.
Woran siehst du das es nicht läuft? Hast du die Taskliste geprüft ob der PS Prozess wirklich noch läuft. Nimm mal einen lokalen Ordner mit Testdaten und lass es darauf los.Die Aufgabe bleibt trotzdem bei "Wird audgeführt" hängen, obwohl im Verlauf der Aufgabe steht:
Taskmanager prüfen , dort siehst du wirklich ob der PS Prozess noch läuft. Der Taskmanager verarscht einen oftmals mit dem Status.Und auch alle CMDLets mal mit dem -Verbose Parameter erweitern.

Nää ganz bestimmt nicht, der -Verbose Parameter ist nur zur Anzeige auf der Konsole was passiert, das ändert rein gar nichts an der Funktionsweise des Skriptes an sich!
Das ohne diesen Parameter nichts angezeigt wird ist völlig normal bei copy-item und remove-item, die zeigen nichts an wenn erfolgreich, das bedeutet auch nicht das es nicht funktioniert wenn nichts zu sehen ist ...
Das ohne diesen Parameter nichts angezeigt wird ist völlig normal bei copy-item und remove-item, die zeigen nichts an wenn erfolgreich, das bedeutet auch nicht das es nicht funktioniert wenn nichts zu sehen ist ...