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 und Remotecomputern neu.

Sie können die Parameter Restart-Computer verwenden, um die Neustartvorgänge auszuführen, um die Authentifizierungsstufen und alternative 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 Zeitüberschreitungs- und Abfrageintervall an, und warten Sie, bis bestimmte Dienste auf dem neu gestarteten Computer verfügbar sind. Dieses Feature macht es praktisch, in Skripts und Funktionen zu verwenden Restart-Computer .

Beispiele

Beispiel 1: Neustarten des lokalen Computers

Restart-Computer Startet den lokalen Computer neu.

Restart-Computer

Beispiel 2: Neustart mehrerer Computer

Restart-Computer kann 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 ComputerName-Parameter wird 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 Path-Parameter , um eine Liste der 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 Domain01.txt Datei 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 Path-Parameter , um eine Liste der Computernamen aus einer Textdatei abzurufen, Domain01.txt. Die Computernamen werden in der Variablen $Namesgespeichert. Get-Credential fordert Sie auf, einen Benutzernamen und ein Kennwort einzugeben und die Werte in der Variablen $Credszu speichern. Restart-Computer verwendet die Parameter "ComputerName " und "Anmeldeinformationen " mit ihren Variablen. Der Parameter Force bewirkt einen sofortigen Neustart jedes Computers.

Beispiel 6: Starten Sie einen Remotecomputer neu, und warten Sie 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 ComputerName-Parameter , um Server01 anzugeben. Der Wait-Parameter wartet, bis der Neustart abgeschlossen ist. Der For-Wert gibt an, dass PowerShell Befehle auf dem Remotecomputer ausführen kann. Der Timeout-Parameter gibt eine fünfminütige Wartezeit an. Der Delay-Parameter fragt den Remotecomputer alle zwei Sekunden ab, um festzustellen, ob er neu gestartet wird.

Beispiel 7: Starten Eines Computers mithilfe von WsmanAuthentication neu

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 " zum Angeben des Remotecomputers Server01. Der WsmanAuthentication-Parameter gibt die Authentifizierungsmethode als Kerberos an.

Parameter

-ComputerName

Gibt einen Computernamen oder ein durch Kommas 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 einen localhost ein.

Dieser Parameter basiert nicht auf PowerShell-Remoting. Sie können den ComputerName-Parameter auch dann verwenden, wenn Der Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.

Wenn der Parameter ComputerName nicht angegeben ist, Restart-Computer wird der lokale Computer neu gestartet.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie ausgeführt werden Restart-Computer.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value: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 Cmdlet generiertes Get-CredentialPSCredential-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 Datenschutz von SecureString finden Sie unter Wie sicher ist SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Accept pipeline input:False
Accept wildcard characters:False
-Delay

Gibt die Häufigkeit von Abfragen in Sekunden an. PowerShell fragt den vom Parameter For 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 "Warten " und " For " gültig.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Wenn der Parameter "Delay " nicht angegeben ist, Restart-Computer wird eine fünf sekunden lange Verzögerung verwendet.

Type:Int16
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-For

Gibt das Verhalten von PowerShell an, da es auf den angegebenen Dienst oder das angegebene Feature wartet, nachdem der Computer neu gestartet wurde. 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 eine Remotesitzung auf dem Computer mithilfe von WS-Management einrichten.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:WaitForServiceTypes
Accepted values:Wmi, WinRM, PowerShell
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Force

Erzwingt einen sofortigen Neustart des Computers.

Type:SwitchParameter
Aliases:f
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Timeout

Gibt die Dauer des Wartevorgangs in Sekunden an. Wenn das Timeout abgelaufen ist, Restart-Computer kehren Sie 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 den unbefristeten Wartezeitszeitraum des Wait-Parameters .

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:None
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 dann weiter zu verarbeiten, wenn der Neustart abgeschlossen ist.

Der Wait-Parameter wartet auf unbestimmte Zeit, bis die Computer neu gestartet werden. Sie können Timeout verwenden, um die Anzeigedauer und die Parameter "For " und "Delay " anzupassen, bis bestimmte Dienste auf den neu gestarteten Computern verfügbar sind.

Der Wait-Parameter ist ungültig, wenn Sie den lokalen Computer neu starten. Wenn der Wert des ComputerName-Parameters die Namen von Remotecomputern und dem lokalen Computer enthält, Restart-Computer generiert ein nicht beendeter 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
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Zeigt an, was passiert, wenn die Restart-Computer Ausführung ausgeführt wird. Das Restart-Computer Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value: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 Authentifizierung des Credential Security Service Provider (CredSSP), 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. 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
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

String

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 Windows-Verwaltungsinstrumentation (WMI) Win32_OperatingSystem Klasse verwendet. Diese Methode erfordert, dass die SeShutdownPrivilege-Berechtigung für das Benutzerkonto aktiviert wird, das zum Neustarten des Computers verwendet wird.
  • Unter Linux und Mac OS Restart-Computer wird das /sbin/shutdown Bash-Tool verwendet.