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 Restart-Computer
Cmdlet startet das Betriebssystem auf den lokalen Computern und Remotecomputern neu.
Sie können die Parameter von Restart-Computer
verwenden, um die Neustartvorgänge auszuführen, die Authentifizierungsebenen und alternativen Anmeldeinformationen anzugeben, die gleichzeitig ausgeführten Vorgänge einzuschränken 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 Wartetimeout und ein Abfrageintervall an, und warten Sie, bis bestimmte Dienste auf dem neu gestarteten Computer verfügbar sind. Dieses Feature macht die Verwendung Restart-Computer
in Skripts und Funktionen praktisch.
Beispiele
Beispiel 1: Neustarten des lokalen Computers
Restart-Computer
startet den lokalen Computer neu.
Restart-Computer
Beispiel 2: Neustarten mehrerer Computer
Restart-Computer
kann Remotecomputer 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 von Computernamen aus einer Textdatei ab und startet die Computer neu. Der Parameter ComputerName ist nicht angegeben. Da es sich jedoch um den ersten Positionsparameter 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 Path-Parameter , um eine Liste von Computernamen aus einer Textdatei abzurufen, Domain01.txt. 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 aufgeführten Domain01.txt
Computer erzwungen. Die Computernamen aus der Textdatei werden in einer Variablen gespeichert. Der Force-Parameter 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 Path-Parameter , um eine Liste von Computernamen aus einer Textdatei abzurufen, Domain01.txt. Die Computernamen werden in der Variablen $Names
gespeichert. Get-Credential
fordert Sie auf, einen Benutzernamen und ein Kennwort einzugeben, und speichert die Werte in der Variablen $Creds
. Restart-Computer
verwendet die Parameter ComputerName und Credential mit ihren Variablen. Der Force-Parameter bewirkt einen sofortigen Neustart jedes Computers.
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 wird, bevor es fortgesetzt wird.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
verwendet den Parameter ComputerName , um Server01 anzugeben. Der Wait-Parameter wartet auf den Abschluss des Neustarts. Das For-Element gibt an, dass PowerShell Befehle auf dem Remotecomputer ausführen kann. Der Timeout-Parameter gibt eine Wartezeit von fünf Minuten an. Der Delay-Parameter fragt den Remotecomputer alle zwei Sekunden ab, um zu bestimmen, 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 Neustarten des Remotecomputers verfügt. Weitere Informationen finden Sie unter AuthenticationMechanism.
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
verwendet den ComputerName-Parameter , um den Remotecomputer Server01 anzugeben.
Der WsmanAuthentication-Parameter 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 den 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 ComputerName-Parameter auch dann verwenden, wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Wenn der ComputerName-Parameter nicht angegeben ist, Restart-Computer
wird der lokale Computer neu gestartet.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie ausführen Restart-Computer
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein vom Get-Credential
Cmdlet generiertes PSCredential-Objekt ein. 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.
Hinweis
Weitere Informationen zum Schutz von SecureString-Daten finden Sie unter Wie sicher ist SecureString?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
Gibt die Häufigkeit von Abfragen in Sekunden an. PowerShell fragt den durch den For-Parameter angegebenen Dienst ab, um zu bestimmen, 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 Delay-Parameter nicht angegeben ist, Restart-Computer
wird eine Verzögerung von fünf Sekunden verwendet.
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-For
Gibt das Verhalten von PowerShell an, wenn nach dem Neustart des Computers darauf gewartet wird, dass der angegebene Dienst oder Die angegebene Funktion verfügbar wird. Dieser Parameter ist nur mit dem Wait-Parameter gültig.
Zulässige Werte für diesen Parameter:
- Standard: Wartet, bis PowerShell neu gestartet wird.
- PowerShell: Kann Befehle in einer PowerShell-Remotesitzung auf dem Computer ausführen.
- WMI: Empfängt eine Antwort auf eine Win32_ComputerSystem Abfrage für den Computer.
- WinRM: Kann mithilfe der WS-Verwaltung eine Remotesitzung mit dem Computer einrichten.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Erzwingt einen sofortigen Neustart des Computers.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Gibt die Dauer des Wartevorgangs in Sekunden an. Wenn das Timeout abgelaufen ist, Restart-Computer
kehrt zur Eingabeaufforderung zurück, auch wenn die Computer nicht neu gestartet werden.
Der Timeout-Parameter ist nur mit dem Wait-Parameter gültig. Timeout überschreibt die unbegrenzte Wartezeit des Wait-Parameters .
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 die Verarbeitung nach Abschluss des Neustarts fortzusetzen.
Der Wait-Parameter wartet unbegrenzt, bis die Computer neu gestartet werden. Sie können Timeout verwenden, um die Zeitsteuerung und die Parameter For und Delay anzupassen, um darauf zu warten, dass bestimmte Dienste auf den neu gestarteten Computern verfügbar werden.
Der Wait-Parameter ist ungültig, wenn Sie den lokalen Computer neu starten. Wenn der Wert des ComputerName-Parameters die Namen der Remotecomputer und des lokalen Computers enthält, Restart-Computer
generiert einen nicht beendenden Fehler für Warten auf dem lokalen Computer, wartet jedoch, bis die Remotecomputer neu gestartet werden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt an, was passieren würde, wenn die Restart-Computer
ausgeführt wird. Das Restart-Computer
Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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, Kerberos und Negotiate.
Weitere Informationen finden Sie unter AuthenticationMechanism.
Warnung
Die CredSSP-Authentifizierung (Credential Security Service Provider), bei der die Benutzeranmeldeinformationen an einen Remotecomputer übergeben werden, um authentifiziert zu werden, ist für Befehle konzipiert, die eine Authentifizierung für mehr als eine Ressource erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Type: | String |
Accepted values: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Restart-Computer
akzeptiert Computernamen aus der Pipeline oder Variablen.
Ausgaben
None
Restart-Computer
generiert keine Ausgabe.
Hinweise
- In Windows
Restart-Computer
wird die Win32Shutdown-Methode der WMI-Klasse (Windows Management Instrumentation) Win32_OperatingSystem verwendet. Diese Methode erfordert, dass die SeShutdownPrivilege-Berechtigung für das Benutzerkonto aktiviert ist, das zum Neustarten des Computers verwendet wird. - Unter Linux und Mac OS
Restart-Computer
verwendet das/sbin/shutdown
Bash-Tool.