Stop-Computer
Beendet den lokalen Computer und Remotecomputer (fährt sie herunter).
Syntax
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Stop-Computer
Cmdlet beendet den lokalen Computer und Remotecomputer.
Sie können die Parameter zum Ausführen der Stop-Computer
Herunterfahren-Vorgänge als Hintergrundauftrag verwenden, um die Authentifizierungsstufen und alternativen Anmeldeinformationen anzugeben, um die gleichzeitigen Verbindungen zu beschränken, die zum Ausführen des Befehls erstellt wurden, und um ein sofortiges Herunterfahren zu erzwingen.
Dieses Cmdlet erfordert keine PowerShell-Remoting, es sei denn, Sie verwenden den AsJob-Parameter .
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 Stop-Computer
wird als Hintergrundauftrag auf zwei Remotecomputern ausgeführt.
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer
verwendet den Parameter ComputerName , um zwei Remotecomputer anzugeben. Der Parameter AsJob führt den Befehl als Hintergrundauftrag aus. Die Auftragsobjekte werden in der $j
Variablen gespeichert.
Die Auftragsobjekte in der $j
Variablen werden an die Pipeline gesendet, an Receive-Job
die die Auftragsergebnisse zurückgegeben werden. Die Objekte werden in der $results
Variablen gespeichert. Die $results
Variable zeigt die Auftragsinformationen in der PowerShell-Konsole an.
Da AsJob den Auftrag auf dem lokalen Computer erstellt und die Ergebnisse automatisch an den lokalen Computer zurückgibt, können Sie als lokaler Befehl ausführen Receive-Job
.
Beispiel 4: Herunterfahren eines Remotecomputers
In diesem Beispiel wird ein Remotecomputer mithilfe der angegebenen Authentifizierung heruntergefahren.
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer
verwendet den Parameter ComputerName , um den Remotecomputer anzugeben. Der Parameter "Identitätswechsel " gibt einen angepassten Identitätswechsel an, und der DcomAuthentication-Parameter gibt Einstellungen auf Authentifizierungsebene an.
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 -ThrottleLimit 10 -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 $s
Variablen gespeichert.
Get-Credential
verwendet den Parameter "Credential ", um die Anmeldeinformationen eines Domänenadministrators anzugeben. Die Anmeldeinformationen werden in der $c
Variablen gespeichert.
Stop-Computer
Beendet die Computer, die mit der Computername-Parameterliste in der $s
Variablen angegeben sind. Der Parameter Force erzwingt ein sofortiges Herunterfahren. Der Parameter ThrottleLimit beschränkt den Befehl auf 10 gleichzeitige Verbindungen. Der Parameter "Credential " sendet die in der $c
Variablen gespeicherten Anmeldeinformationen.
Parameter
-AsJob
Gibt an, dass dieses Cmdlet als Hintergrundauftrag ausgeführt wird.
Um diesen Parameter zu verwenden, müssen die lokalen und Remotecomputer für Remoting konfiguriert sein, und unter Windows Vista und höheren Versionen des Windows-Betriebssystems müssen Sie PowerShell mithilfe der Option "Als Administrator ausführen" öffnen. Weitere Informationen finden Sie unter about_Remote_Requirements.
Wenn Sie den AsJob-Parameter angeben, gibt der Befehl sofort ein Objekt zurück, das den Hintergrundauftrag darstellt. Sie können die Sitzung weiterhin verwenden, während der Auftrag abgeschlossen wird. Der Auftrag wird auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. Verwenden Sie das Receive-Job
Cmdlet, um die Auftragsergebnisse abzurufen.
Weitere Informationen zu PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ComputerName
Gibt die Computer an, die beendet werden sollen. Die Standardeinstellung ist der lokale Computer.
Geben Sie den NetBIOS-Namen, die IP-Adresse oder den vollqualifizierten Domänennamen eines Computers 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 auch dann verwenden, 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
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
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. 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-Credential
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 finden Sie unter "Wie sicher ist SecureString?".
Typ: | PSCredential |
Position: | 1 |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DcomAuthentication
Gibt die Authentifizierungsebene an, die dieses Cmdlet mit WMI verwendet. Stop-Computer
verwendet WMI. Der Standardwert ist Packet.
Zulässige Werte für diesen Parameter:
- Standard: Windows-Authentifizierung.
- Keine: Keine COM-Authentifizierung.
- Verbinden: COM-Authentifizierung auf Verbindungsebene.
- Anruf: COM-Authentifizierung auf Anrufebene.
- Paket: COM-Authentifizierung auf Paketebene.
- PacketIntegrity: COM-Authentifizierung auf Paketintegritätsebene.
- PacketPrivacy: COM-Authentifizierung auf Paketdatenschutzebene.
- Unverändert: Identisch mit dem vorherigen Befehl.
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationLevel.
Typ: | AuthenticationLevel |
Aliase: | Authentication |
Zulässige Werte: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Standardwert: | Packet |
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 |
-Impersonation
Gibt die Identitätswechselebene an, die verwendet werden soll, wenn dieses Cmdlet WMI aufruft. Der Standardwert ist "Identitätswechsel".
Stop-Computer
verwendet WMI. Zulässige Werte für diesen Parameter:
- Standard: Standardidentitätswechsel.
- Anonym: Blendet die Identität des Anrufers aus.
- Identifizieren: Ermöglicht Objekten das Abfragen der Anmeldeinformationen des Aufrufers.
- Identitätswechsel: Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.
Typ: | ImpersonationLevel |
Zulässige Werte: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Standardwert: | Impersonate |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Protocol
Gibt an, welches Protokoll zum Neustarten der Computer verwendet werden soll. Die zulässigen Werte für diesen Parameter sind: WSMan und DCOM. Der Standardwert ist DCOM.
Dieser Parameter wurde in PowerShell 3.0 eingeführt.
Typ: | String |
Zulässige Werte: | DCOM, WSMan |
Position: | Named |
Standardwert: | DCOM |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ThrottleLimit
Gibt die maximale Anzahl von gleichzeitigen Verbindungen an, die zum Ausführen dieses Befehls hergestellt werden können. Wenn Sie diesen Parameter weglassen oder den Wert %%amp;quot;0%%amp;quot; eingeben, wird der Standardwert %%amp;quot;32%%amp;quot; verwendet.
Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was geschieht, 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 lautet Default.
Zulässige Werte für diesen Parameter:
- Grundlegend
- CredSSP
- Standard
- Digest
- Kerberos
- Verhandeln.
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism.
Achtung
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 die Sicherheit des Remotecomputers gefährdet 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
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
System.Management.Automation.RemotingJob
Wenn Sie den Parameter AsJob verwenden, gibt dieses Cmdlet ein RemotingJob-Objekt zurück.
Hinweise
Dieses Cmdlet verwendet das Win32Shutdown
-Methode der Win32_OperatingSystem
WMI-Klasse. Für diese Methode ist die SeShutdownPrivilege
Berechtigung für das Benutzerkonto aktiviert, das zum Herunterfahren des Computers verwendet wird.