Restart-Computer
Startet das Betriebssystem auf lokalen und Remotecomputern neu.
Syntax
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das Cmdlet Restart-Computer
startet das Betriebssystem auf den lokalen und Remotecomputern neu.
Sie können die Parameter von Restart-Computer
verwenden, um die Neustartvorgänge auszuführen, um die Authentifizierungsstufen und alternativen Anmeldeinformationen anzugeben, um die vorgänge zu beschränken, die gleichzeitig ausgeführt werden, und einen sofortigen Neustart zu erzwingen.
Ab Windows PowerShell 3.0 können Sie warten, bis der Neustart abgeschlossen ist, bevor Sie den nächsten Befehl ausführen. Geben Sie ein Wartezeit- und Abfrageintervall an, und warten Sie, bis bestimmte Dienste auf dem neu gestarteten Computer verfügbar sind. Dieses Feature macht es praktisch, Restart-Computer
in Skripts und Funktionen zu verwenden.
Beispiele
Beispiel 1: Neustarten des lokalen Computers
Restart-Computer
startet den lokalen Computer neu.
Restart-Computer
Beispiel 2: Neustarten mehrerer Computer
Restart-Computer
können Remote- und lokale Computer neu starten. Der parameter ComputerName akzeptiert ein Array von Computernamen.
Restart-Computer -ComputerName Server01, Server02, localhost
Beispiel 3: Abrufen von Computernamen aus einer Textdatei
Restart-Computer
ruft eine Liste der Computernamen aus einer Textdatei ab und startet die Computer neu. Der parameter ComputerName ist nicht angegeben. Da es sich jedoch um den Parameter für die erste Position handelt, akzeptiert er die Computernamen aus der Textdatei, die an die Pipeline gesendet wird.
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
verwendet den Parameter Path, um eine Liste der Computernamen aus einer Textdatei Domain01.txtabzurufen. Die Computernamen werden an die Pipeline gesendet.
Restart-Computer
startet jeden Computer neu.
Beispiel 4: Erzwingen des Neustarts von Computern, die in einer Textdatei aufgeführt sind
In diesem Beispiel wird ein sofortiger Neustart der in der datei Domain01.txt
aufgeführten Computer erzwungen. Die Computernamen aus der Textdatei werden in einer Variablen gespeichert. Der parameter Force erzwingt einen sofortigen Neustart.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
Get-Content
verwendet den Parameter Path, um eine Liste der Computernamen aus einer Textdatei Domain01.txtabzurufen. Die Computernamen werden in der Variablen $Names
gespeichert.
Get-Credential
fordert Sie zur Eingabe eines Benutzernamens und Kennworts auf und speichert die Werte in der Variablen $Creds
.
Restart-Computer
verwendet die Parameter ComputerName und Credential mit ihren Variablen. Der parameter Force bewirkt einen sofortigen Neustart der einzelnen Computer.
Beispiel 6: Neustarten eines Remotecomputers und Warten auf PowerShell
Restart-Computer
startet den Remotecomputer neu und wartet dann bis zu 5 Minuten (300 Sekunden), bis PowerShell auf dem neu gestarteten Computer verfügbar ist, bevor er fortgesetzt wird.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
verwendet den Parameter ComputerName, um Server01-anzugeben. Der Parameter Wait wartet, bis der Neustart abgeschlossen ist. Der For gibt an, dass PowerShell Befehle auf dem Remotecomputer ausführen kann. Der parameter Timeout gibt eine wartezeit von fünf Minuten an. Die Delay Parameter fragt den Remotecomputer alle zwei Sekunden ab, um zu ermitteln, ob er neu gestartet wird.
Beispiel 7: Neustarten eines Computers mithilfe von WsmanAuthentication
Restart-Computer
startet den Remotecomputer mithilfe des WsmanAuthentication Mechanismus neu.
Die Kerberos-Authentifizierung bestimmt, ob der aktuelle Benutzer über die Berechtigung zum Neustart des Remotecomputers verfügt. Weitere Informationen finden Sie unter AuthenticationMechanism.
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
verwendet den Parameter ComputerName, um den Remotecomputer anzugeben, Server01.
Der parameter WsmanAuthentication gibt die Authentifizierungsmethode als Kerberos-an.
Parameter
-ComputerName
Gibt einen Computernamen oder ein durch Trennzeichen getrenntes Array von Computernamen an.
Restart-Computer
akzeptiert ComputerName Objekte aus der Pipeline oder Variablen.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt .
oder localhost ein.
Dieser Parameter basiert nicht auf PowerShell-Remoting. Sie können den parameter ComputerName verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Wenn der parameter ComputerName nicht angegeben ist, startet Restart-Computer
den lokalen Computer neu.
Typ: | String[] |
Aliase: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Restart-Computer
ausgeführt wird.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, das vom cmdlet Get-Credential
generiert wird. Wenn Sie einen Benutzernamen eingeben, werden Sie aufgefordert, das Kennwort einzugeben.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.
Anmerkung
Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.
Typ: | PSCredential |
Position: | 1 |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Delay
Gibt die Häufigkeit von Abfragen in Sekunden an. PowerShell fragt den vom For-Parameter angegebenen Dienst ab, um zu ermitteln, ob der Dienst nach dem Neustart des Computers verfügbar ist.
Dieser Parameter ist nur zusammen mit den Parametern Wait und For gültig.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Wenn der parameter Delay nicht angegeben ist, verwendet Restart-Computer
eine Verzögerung von fünf Sekunden.
Typ: | Int16 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-For
Gibt das Verhalten von PowerShell an, da sie wartet, bis der angegebene Dienst oder das angegebene Feature nach dem Neustart des Computers verfügbar ist. Dieser Parameter ist nur mit dem Parameter Wait gültig.
Die zulässigen Werte für diesen Parameter sind:
- Standard-: Wartet auf den Neustart von PowerShell.
- PowerShell-: Befehle können in einer PowerShell-Remotesitzung auf dem Computer ausgeführt werden.
- WMI-: Empfängt eine Antwort auf eine Win32_ComputerSystem Abfrage für den Computer.
- WinRM-: Kann mithilfe der WS-Verwaltung eine Remotesitzung auf dem Computer einrichten.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | WaitForServiceTypes |
Zulässige Werte: | Wmi, WinRM, PowerShell |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Erzwingt einen sofortigen Neustart des Computers.
Typ: | SwitchParameter |
Aliase: | f |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Timeout
Gibt die Wartezeit in Sekunden an. Wenn das Timeout abgelaufen ist, kehrt Restart-Computer
zur Eingabeaufforderung zurück, auch wenn die Computer nicht neu gestartet werden.
Der parameter Timeout ist nur für den Parameter Wait gültig. Timeout- überschreibt den unbestimmten Wartezeitszeitraum des Wait Parameters.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | Int32 |
Aliase: | TimeoutSec |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Wait
Restart-Computer
unterdrückt die PowerShell-Eingabeaufforderung und blockiert die Pipeline, bis die Computer neu gestartet wurden. Sie können diesen Parameter in einem Skript verwenden, um Computer neu zu starten und dann weiter zu verarbeiten, wenn der Neustart abgeschlossen ist.
Der Parameter "Wait" wartet auf unbestimmte Zeit, bis die Computer neu gestartet werden. Sie können Timeout- verwenden, um die Anzeigedauer und die Für und Delay Parameter anzupassen, damit bestimmte Dienste auf den neu gestarteten Computern verfügbar sind.
Der Parameter Wait ist ungültig, wenn Sie den lokalen Computer neu starten. Wenn der Wert des parameters ComputerName die Namen von Remotecomputern und dem lokalen Computer enthält, generiert Restart-Computer
einen nicht beendeten Fehler für Wait auf dem lokalen Computer, wartet jedoch, bis die Remotecomputer neu gestartet werden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn die Restart-Computer
ausgeführt wird. Das Cmdlet Restart-Computer
wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WsmanAuthentication
Gibt den Mechanismus an, der zum Authentifizieren der Benutzeranmeldeinformationen verwendet wird. Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Die zulässigen Werte für diesen Parameter sind: Basic, CredSSP, Default, Digest, Kerberosund Negotiate.
Weitere Informationen finden Sie unter AuthenticationMechanism.
Warnung
Credential Security Service Provider (CredSSP)-Authentifizierung, bei der die Benutzeranmeldeinformationen an einen Remotecomputer übergeben werden, der authentifiziert werden soll, ist für Befehle konzipiert, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn der Remotecomputer kompromittiert ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Typ: | String |
Zulässige Werte: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können eine Zeichenfolge mit einem Computernamen an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
- In Windows verwendet
Restart-Computer
die Win32Shutdown-Methode der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) Win32_OperatingSystem Klasse. Für diese Methode muss das SeShutdownPrivilege Berechtigungen für das Benutzerkonto aktiviert werden, mit dem der Computer neu gestartet wird. - Unter Linux und macOS verwendet
Restart-Computer
das/sbin/shutdown
Bash-Tool.