Start-Prozess -wait funktioniert nicht, wenn das Skript gestartet wird von der Eingabeaufforderung aus geöffnet mit "runas" oder als geplanter task

Ich habe ein script, das ich ausführen will, als ein geplanter task, aber es tut nicht das was es soll. Ich bin versucht, rufen Sie eine ausführbare Datei mit dem Start-Prozess und die -Warten Sie wechseln, bevor Sie fortfahren. Line ist

Start-Process -FilePath "C:\Pfx Engagement\Admin\Utilities\Backups Restore\BackupRestoreUtil.exe" -ArgumentList "/f "$backup_directory"" -Warten

Wenn ich es aufrufen einer Eingabeaufforderung, sprich:

powershell .\script.ps1

es funktioniert. Es führt den Befehl aus und wartet, bis es fertig ist, bevor Sie fortfahren. Es gibt mehr zu dem Skript, das ausgeführt werden, nachdem dieser Befehl abgeschlossen ist. Das problem ist, dass wenn es eine geplante Aufgabe, es wartet nicht. Tun einige grundlegende Fehlerbehebung, versuchte ich zunächst öffnen Sie ein cmd-Fenster mit "runas" mit der geplanten Aufgabe Konto, namens "Scripts." So ich

runas /env /user:cmd-Skripte

öffnen Sie ein Fenster der Eingabeaufforderung mit dem task-account. Aus dieser Eingabeaufforderung, versuche ich wieder die "powershell .\script.ps1" und dieses mal, es wartet nicht. Es führt den Befehl aus und bewegt sich sofort weiter, bevor der Befehl abgeschlossen ist. Also ich dachte, es könnte ein Problem mit dem "Scripts" - Konto, bis ich öffnete eine neue Eingabeaufforderung mit runas Administrator

runas /env /user:Administrator cmd

Wenn ich rufen Sie das Skript von dieser Administrator-Eingabeaufforderung, die -Warten-Schalter wird ignoriert, und das Skript bewegt sich sofort, nachdem Sie es ohne zu warten, für Sie auf fertig stellen.

Den ungeraden Teil über dieses ist, dass wenn ich den Aufruf über die Eingabeaufforderung vom Administrator-Konto ohne "runas" funktioniert es. Gleiche Konto, zwei verschiedene Ergebnisse. Alle Ideen, was zum Teufel ist hier Los, und was ebenso wichtig ist, wie man es beheben?

OS ist Server 2008 R2 ausführen von powershell 3.0

  • Nach dem Upgrade von PS 2 zu 3 stieß ich auf das gleiche problem. -Warten Sie arbeitet völlig in Ordnung, in der PS-version 2! Abhilfe warten Sie, bis der Prozess abgeschlossen ist, hat ein riesiges Problem - es nicht zurückgeben .Exit-Code des Prozesses
InformationsquelleAutor user3137716 | 2013-12-26
Schreibe einen Kommentar