Start-Process -wait funktioniert nicht, wenn das Skript über die Eingabeaufforderung gestartet wird, die mit Runas oder als geplante Aufgabe geöffnet wurde

Ich habe ein Skript, das ich als geplante Aufgabe ausführen möchte, aber es tut nicht das, was es soll. Ich versuche, eine ausführbare Datei mit Start-Process und der Option -Wait aufzurufen, bevor ich fortfahre. Linie ist

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

Wenn ich es von einer Eingabeaufforderung aus aufrufe, dh:

Powershell. \ script.ps1

Es klappt. Es führt den Befehl aus und wartet, bis er beendet ist, bevor es weitergeht. Nach Abschluss dieses Befehls muss noch mehr im Skript ausgeführt werden. Das Problem ist, dass es keine Wartezeit gibt, wenn es sich um eine geplante Aufgabe handelt. Bei einigen grundlegenden Schritten zur Fehlerbehebung habe ich zuerst versucht, ein Cmd-Fenster mit Runas über das geplante Taskkonto mit dem Namen "Scripts" zu öffnen. Also renne ich

runas / env / user: Skripte cmd

Öffnen eines Eingabeaufforderungsfensters mit dem Aufgabenkonto. Von dieser Eingabeaufforderung aus versuche ich es erneut mit der "Powershell. \ Script.ps1" und dieses Mal wartet sie nicht. Es führt den Befehl aus und fährt sofort fort, bevor der Befehl beendet ist. Daher dachte ich, es könnte ein Problem mit dem Konto "Scripts" geben, bis ich mit runas Administrator eine neue Eingabeaufforderung öffnete

runas / env / user: Administrator cmd

Wenn ich das Skript über diese Administrator-Eingabeaufforderung aufrufe, wird der Schalter -Wait ebenfalls ignoriert, und das Skript wird sofort nach dem Aufrufen weitergeschaltet, ohne auf den Abschluss zu warten.

Das seltsame daran ist, dass es funktioniert, wenn ich es von der Eingabeaufforderung des Administratorkontos aus aufrufe, ohne Runas auszuführen. Gleiches Konto, zwei unterschiedliche Ergebnisse. Irgendwelche Ideen, was zum Teufel hier vor sich geht und was ebenso wichtig ist, wie man es behebt?

Betriebssystem ist Server 2008 R2, auf dem Powershell 3.0 ausgeführt wird

Antworten auf die Frage(1)

Ihre Antwort auf die Frage