Stop-Computer
Stoppt (heruntergefahren) lokale und Remotecomputer.
Syntax
Default (Standard)
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet Stop-Computer werden Computer remote heruntergefahren. Es kann auch der lokale Computer heruntergefahren werden.
Sie können die Parameter von Stop-Computer verwenden, um die Vorgänge zum Herunterfahren als Hintergrundauftrag auszuführen, die Authentifizierungsebenen und alternativen Anmeldeinformationen anzugeben, die gleichzeitigen Verbindungen einzuschränken, die zum Ausführen des Befehls erstellt werden, und ein sofortiges Herunterfahren zu erzwingen.
Für dieses Cmdlet ist kein Windows PowerShell-Remoting erforderlich, es sei denn, Sie verwenden den AsJob-Parameter .
Beispiele
Beispiel 1: Herunterfahren des lokalen Computers
PS C:\> Stop-Computer
Mit diesem Befehl wird der lokale Computer heruntergefahren.
Beispiel 2: Herunterfahren von zwei Remotecomputern und dem lokalen Computer
PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Mit diesem Befehl werden zwei Remotecomputer, Server01 und Server02, sowie der lokale Computer, der als localhost identifiziert wird, gestoppt.
Beispiel 3: Herunterfahren von Remotecomputern als Hintergrundauftrag
PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results
Mit diesen Befehlen wird Stop-Computer als Hintergrundauftrag auf zwei Remotecomputern ausgeführt und dann die Ergebnisse abgerufen.
Der erste Befehl gibt den AsJob-Parameter an, um den Befehl als Hintergrundauftrag auszuführen. Der Befehl speichert das resultierende Auftragsobjekt in der Variablen $j.
Der zweite Befehl verwendet einen Pipelineoperator, um das Auftragsobjekt in $j an Receive-Job zu senden, das die Auftragsergebnisse abruft. Der Befehl speichert die Ergebnisse in der Variablen $results.
Der dritte Befehl zeigt das Ergebnis an, das in der Variablen $results gespeichert ist.
Da AsJob den Auftrag auf dem lokalen Computer erstellt und die Ergebnisse automatisch an den lokalen Computer zurückgibt, können Sie Receive-Job als lokalen Befehl ausführen.
Beispiel 4: Herunterfahren eines Remotecomputers
PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity
Mit diesem Befehl wird der Remotecomputer Server01 gestoppt. Der Befehl verwendet benutzerdefinierte Identitätswechsel- und Authentifizierungseinstellungen.
Beispiel 5:
PS C:\> $s = Get-Content Domain01.txt
PS C:\> $c = Get-Credential domain01\admin01
PS C:\> Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Diese Befehle erzwingen das sofortige Herunterfahren aller Computer in Domäne01.
Der erste Befehl ruft eine Liste der Computer in der Domäne ab und speichert sie dann in der Variablen $s.
Der zweite Befehl ruft die Anmeldeinformationen eines Domänenadministrators ab und speichert sie dann in der Variablen $c.
Der dritte Befehl fährt die Computer herunter. Sie verwendet den ComputerName-Parameter , um die Liste der Computer in der Variablen $s zu übermitteln, den Force-Parameter , um ein sofortiges Herunterfahren zu erzwingen, und den Credential-Parameter , um die in der Variablen $c gespeicherten Anmeldeinformationen zu übermitteln. Außerdem wird der Parameter ThrottleLimit verwendet, um den Befehl auf 10 gleichzeitige Verbindungen zu beschränken.
Parameter
-AsJob
Gibt an, dass dieses Cmdlet als Hintergrundauftrag ausgeführt wird.
Um diesen Parameter verwenden zu können, müssen der lokale Computer und der Remotecomputer für Remoting konfiguriert sein, und unter Windows Vista und höheren Versionen des Windows-Betriebssystems müssen Sie Windows PowerShell mit 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 weiterhin in der Sitzung arbeiten, während der Auftrag abgeschlossen ist. Der Auftrag wird auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. Verwenden Sie zum Abrufen der Auftragsergebnisse das Cmdlet Receive-Job.
Weitere Informationen zu Windows PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
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 |
-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 Windows PowerShell-Remoting. Sie können den parameter ComputerName verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | China, __SERVER, Server, IP-Adresse |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
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, z. B. eines aus dem Cmdlet Get-Credential.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| 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 |
-DcomAuthentication
Gibt die Authentifizierungsebene an, die dieses Cmdlet mit WMI verwendet. Stop-Computer verwendet WMI. Die zulässigen Werte für diesen Parameter sind:
- Vorgabe. Windows-Authentifizierung
- Keiner. Keine COM-Authentifizierung
- Verbinden. COM-Authentifizierung auf Verbindungsebene
- Rufen. COM-Authentifizierung auf Aufrufebene
- Paket. COM-Authentifizierung auf Paketebene
- PacketIntegrity. COM-Authentifizierung auf Paketintegritätsebene.
- PacketPrivacy. COM-Authentifizierung auf Paketdatenschutzebene
- Unverändert. Identisch mit dem vorherigen Befehl
Der Standardwert ist Packet.
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationLevel-Enumeration in der MSDN Library.
Parametereigenschaften
| Typ: | AuthenticationLevel |
| Standardwert: | None |
| Zulässige Werte: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Authentifizierung |
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 ein sofortiges Herunterfahren der Rechner.
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 |
-Impersonation
Gibt die Identitätswechselebene an, die verwendet werden soll, wenn dieses Cmdlet WMI aufruft. Stop-Computer verwendet WMI. Die zulässigen Werte für diesen Parameter sind:
- Vorgabe. Standardidentitätswechsel
- Anonym. Blendet die Identität des Aufrufers aus
- Identifizieren. Ermöglicht Es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.
- Sich ausgeben als. Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.
Der Standardwert ist Impersonate.
Parametereigenschaften
| Typ: | ImpersonationLevel |
| Standardwert: | None |
| Zulässige Werte: | Default, Anonymous, Identify, Impersonate, Delegate |
| 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 |
-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 Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | DCOM, WSMan |
| 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 |
-ThrottleLimit
Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0 eingeben, wird der Standardwert 32 verwendet.
Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, nicht für die Sitzung oder den Computer.
Parametereigenschaften
| Typ: | Int32 |
| 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 das Cmdlet ausgeführt wird. Das 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, wenn dieses Cmdlet das WSMan-Protokoll verwendet. Die zulässigen Werte für diesen Parameter sind:
- Basic
- CredSSP
- Standard
- Zusammenfassung
- Kerberos
- Verhandeln.
Der Standardwert ist "Default".
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism Enumeration in der MSDN Library.
Achtung: 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. 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 Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| 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
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
None or System.Management.Automation.RemotingJob
Das Cmdlet gibt ein System.Management.Automation.RemotingJob-Objekt zurück, wenn Sie den AsJob-Parameter angeben. Andernfalls wird keine Ausgabe generiert.
Hinweise
- Dieses Cmdlet verwendet die Win32Shutdown Methode der Win32_OperatingSystem WMI-Klasse.
- In Windows PowerShell 2.0 funktioniert der AsJob-Parameter nicht zuverlässig, wenn Sie Remotecomputer neu starten/beenden. In Windows PowerShell 3.0 wird die Implementierung geändert, um dieses Problem zu beheben.