Beim Start ein Powershell-Skript ausführen

1507
RandellK02

Ich schreibe ein Skript, um einen Computer aus der Domäne zu entfernen, ihn umzubenennen und dann wieder hinzuzufügen. Es funktioniert gut, wenn ich den Auslöser auf AtLogOn gesetzt habe, aber wenn ich zu AtStartUp wechsle, stoße ich auf einige Probleme. Diese Fehlermeldung wird beim Neustart angezeigt, um die erste geplante Task auszuführen: 0x8007051F: Derzeit sind keine Anmeldeserver verfügbar, um die Anmeldeanforderung zu bearbeiten. Ich vermute, dass das Skript versucht, ohne Netzwerkverbindung auszuführen, also habe ich es mit dem Parameter RandomDelay getestet, und es funktionierte wie erwartet.

Ich kann mich nicht auf eine zufällige Verzögerung verlassen, also suche ich nach einer Alternative. Gibt es eine Möglichkeit, den Netzwerkstatus zu testen, bevor das Skript beginnt, oder eine Möglichkeit, das Skript um einen bestimmten Zeitraum zu verzögern? Ich verwende Register-ScheduledJobvon Powershell 3.0

Danke im Voraus

1

2 Antworten auf die Frage

1
Keltari

Sie können das Test-Connection Cmdlet möglicherweise zum Pingen eines Domänencontrollers verwenden. Wiederholen Sie die Schleife, bis eine positive Antwort empfangen wird.

-1
Donrsh

Start-Sleep mit einer if Test-Verbindung = $ true gegen DC