Stop-Computer
Stoppt (heruntergefahren) lokale und Remotecomputer.
Syntax
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Stop-Computer
heruntergefahren den lokalen Computer und Remotecomputer.
Sie können die Parameter von Stop-Computer
verwenden, um die Authentifizierungsstufen und alternativen Anmeldeinformationen anzugeben und ein sofortiges Herunterfahren zu erzwingen.
In PowerShell 7.1 wurde Stop-Computer
für Linux und macOS hinzugefügt. Die Parameter haben keine Auswirkungen auf diese Plattformen. Das Cmdlet ruft einfach den systemeigenen Befehl /sbin/shutdown
auf.
Beispiele
Beispiel 1: Herunterfahren des lokalen Computers
In diesem Beispiel wird der lokale Computer heruntergefahren.
Stop-Computer -ComputerName localhost
Beispiel 2: Herunterfahren von zwei Remotecomputern und dem lokalen Computer
In diesem Beispiel werden zwei Remotecomputer und der lokale Computer beendet.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
verwendet den Parameter ComputerName, um zwei Remotecomputer und den lokalen Computer anzugeben. Jeder Computer wird heruntergefahren.
Beispiel 3: Herunterfahren von Remotecomputern als Hintergrundauftrag
In diesem Beispiel wird Stop-Computer
als Hintergrundauftrag auf zwei Remotecomputern ausgeführt.
Der Hintergrundoperator &
führt den befehl Stop-Computer
als Hintergrundauftrag aus. Weitere Informationen finden Sie unter about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer
verwendet den Parameter ComputerName, um zwei Remotecomputer anzugeben. Der &
Hintergrundoperator führt den Befehl als Hintergrundauftrag aus. Die Auftragsobjekte werden in der variablen $j
gespeichert.
Die Auftragsobjekte in der variablen $j
werden an Receive-Job
gesendet, wodurch die Auftragsergebnisse zurückgegeben werden. Die Objekte werden in der variablen $results
gespeichert. Die $results
Variable zeigt die Auftragsinformationen in der PowerShell-Konsole an.
Beispiel 4: Herunterfahren eines Remotecomputers
In diesem Beispiel wird ein Remotecomputer mithilfe der angegebenen Authentifizierung heruntergefahren.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer
verwendet den Parameter ComputerName, um den Remotecomputer anzugeben. Der WsmanAuthentication Parameter gibt an, dass Kerberos zum Herstellen einer Remoteverbindung verwendet wird.
Beispiel 5: Herunterfahren von Computern in einer Domäne
In diesem Beispiel erzwingen die Befehle ein sofortiges Herunterfahren aller Computer in einer angegebenen Domäne.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content
verwendet den Parameter Path, um eine Datei im aktuellen Verzeichnis mit der Liste der Domänencomputer abzurufen. Die Objekte werden in der variablen $s
gespeichert.
Get-Credential
verwendet den Parameter Anmeldeinformationen, um die Anmeldeinformationen eines Domänenadministrators anzugeben. Die Anmeldeinformationen werden in der variablen $c
gespeichert.
Stop-Computer
die computerspezifischen Computer, die mit der ComputerName Parameterliste der Computer in der variablen $s
angegeben sind, heruntergefahren. Der parameter "Force" erzwingt das sofortige Herunterfahren. Der Parameter Credential übermittelt die in der variablen $c
gespeicherten Anmeldeinformationen.
Parameter
-ComputerName
Gibt die Computer an, die beendet werden sollen. Der Standardwert ist der lokale Computer.
Geben Sie den NETBIOS-Namen, die IP-Adresse oder den vollqualifizierten Domänennamen eines oder mehrerer Computer in einer durch Trennzeichen getrennten Liste ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen 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.
Typ: | String[] |
Aliase: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
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 |
-Force
Erzwingt das sofortige Herunterfahren des Computers.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet 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, wenn dieses Cmdlet das WSMan-Protokoll verwendet. Der Standardwert ist Default.
Die zulässigen Werte für diesen Parameter sind:
- Grundlegend
- CredSSP
- Vorgabe
- Verdauen
- Kerberos
- Verhandeln.
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism.
Vorsicht
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 wurde in PowerShell 3.0 eingeführt.
Typ: | String |
Zulässige Werte: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Standardwert: | Default |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Dieses Cmdlet verwendet die Win32Shutdown Methode der Win32_OperatingSystem WMI-Klasse. Für diese Methode muss die SeShutdownPrivilege
Berechtigung für das Benutzerkonto aktiviert werden, das zum Herunterfahren des Computers verwendet wird.
In PowerShell 7.1 wurde Stop-Computer
für Linux und macOS hinzugefügt. Für diese Plattformen ruft das Cmdlet den systemeigenen Befehl /sbin/shutdown
auf.