Freigeben über


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.