Restart-Computer

Startet das Betriebssystem auf lokalen und Remotecomputern neu.

Syntax

DefaultSet (Standard)

Restart-Computer
    [[-ComputerName] <String[]>]
    [-WsmanAuthentication <String>]
    [-Credential]<PSCredential>]
    [-Force]
    [-Wait]
    [-Timeout <Int32>]
    [-For <WaitForServiceTypes>]
    [-Delay <Int16>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das Restart-Computer Cmdlet startet das Betriebssystem auf den lokalen und Remotecomputern neu.

Sie können die Parameter zum Ausführen der Restart-Computer Neustartvorgänge verwenden, um die Authentifizierungsstufen und alternativen Anmeldeinformationen anzugeben, um 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 Wartezeit- 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 .

In PowerShell 7.1 Restart-Computer wurde für Linux und macOS hinzugefügt. Die Nicht-Windows-Plattformen verfügen nur über die Parameter WhatIf, Confirm und CommonParameters. Das Cmdlet ruft einfach den systemeigenen Befehl /sbin/shutdownauf.

Beispiele

Beispiel 1: Neustarten des lokalen Computers

Restart-Computer startet den lokalen Computer neu.

Restart-Computer

Beispiel 2: Neustarten 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 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 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 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 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 "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 Wait-Parameter wartet, bis der Neustart abgeschlossen ist. The For 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 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 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 einen vollqualifizierten Domänennamen eines Remotecomputers ein. Geben Sie zum Angeben des lokalen Computers den Computernamen, einen Punkt .oder einen Localhost ein.

Dieser Parameter beruht 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, Restart-Computer wird der lokale Computer neu gestartet.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:China, __SERVER, Server, IPAddress

Parametersätze

(All)
Position:0
Obligatorisch.:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Confirm

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Cf

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Note

Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:PSCredential
Standardwert:Current user
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:1
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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 "Wait " 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 verzögerung von fünf Sekunden verwendet.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:Int16
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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 Wait-Parameter 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. Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:WaitForServiceTypes
Standardwert:None
Zulässige Werte:Wmi, WinRM, PowerShell
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Force

Erzwingt einen sofortigen Neustart des Computers.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:f

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Timeout

Gibt die Wartezeit in Sekunden an. Wenn das Timeout verstrichen 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 unbestimmten Wartezeitszeitraum des Wait-Parameters .

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:TimeoutSec

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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, damit 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 Parameters "ComputerName " die Namen von Remotecomputern und dem lokalen Computer enthält, Restart-Computer wird ein nicht beendeter Fehler für "Warten auf dem lokalen Computer" generiert, aber auf die Remotecomputer wartet, bis der Neustart erfolgt.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt. Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-WhatIf

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Wi

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Warning

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.

Dieser Parameter ist nur auf Windows Plattformen verfügbar.

Parametereigenschaften

Typ:String
Standardwert:None
Zulässige Werte:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können eine Zeichenfolge mit einem Computernamen an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.

Hinweise

  • Bei Windows Restart-Computer wird die Win32Shutdown-MethodeWin32_OperatingSystem Klasse verwendet. Für diese Methode ist die SeShutdownPrivilege-Berechtigung für das Benutzerkonto aktiviert, das zum Neustarten des Computers verwendet wird.
  • Dieses Cmdlet wurde für Linux und macOS in PowerShell 7.1 hinzugefügt. Unter Linux und macOS Restart-Computer wird das /sbin/shutdown Bash-Tool verwendet.