Delen via


Stop-Computer

Lokale en externe computers stoppen (afsluiten).

Syntax

Stop-Computer
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Met de cmdlet Stop-Computer worden computers extern afgesloten. Het kan ook de lokale computer afsluiten.

U kunt de parameters van Stop-Computer gebruiken om de afsluitbewerkingen uit te voeren als achtergrondtaak, om de verificatieniveaus en alternatieve referenties op te geven, om de gelijktijdige verbindingen te beperken die worden gemaakt om de opdracht uit te voeren en om een onmiddellijke afsluiting af te dwingen.

Voor deze cmdlet is geen externe Windows PowerShell vereist, tenzij u de parameter AsJob gebruikt.

Voorbeelden

Voorbeeld 1: De lokale computer afsluiten

PS C:\> Stop-Computer

Met deze opdracht wordt de lokale computer afgesloten.

Voorbeeld 2: Twee externe computers en de lokale computer afsluiten

PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"

Met deze opdracht stopt u twee externe computers, Server01 en Server02, en de lokale computer, geïdentificeerd als localhost.

Voorbeeld 3: Externe computers afsluiten als achtergrondtaak

PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results

Met deze opdrachten wordt Stop-Computer als achtergrondtaak op twee externe computers uitgevoerd en worden de resultaten opgehaald.

Met de eerste opdracht geeft u de parameter AsJob op om de opdracht als achtergrondtaak uit te voeren. Met de opdracht wordt het resulterende taakobject opgeslagen in de variabele $j.

De tweede opdracht maakt gebruik van een pijplijnoperator om het taakobject in $j te verzenden naar Receive-Job, waarmee de taakresultaten worden opgehaald. Met de opdracht worden de resultaten opgeslagen in de variabele $results.

Met de derde opdracht wordt het resultaat weergegeven dat is opgeslagen in de variabele $results.

Omdat AsJob de taak op de lokale computer maakt en de resultaten automatisch naar de lokale computer retourneert, kunt u Receive-Job uitvoeren als een lokale opdracht.

Voorbeeld 4: Een externe computer afsluiten

PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity

Met deze opdracht wordt de externe server01-computer gestopt. De opdracht maakt gebruik van aangepaste imitatie- en verificatie-instellingen.

Voorbeeld 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

Met deze opdrachten wordt een onmiddellijke afsluiting van alle computers in Domain01 afgedwongen.

Met de eerste opdracht wordt een lijst met computers in het domein opgeslagen en vervolgens opgeslagen in de variabele $s.

Met de tweede opdracht worden de referenties van een domeinbeheerder opgeslagen en vervolgens opgeslagen in de variabele $c.

Met de derde opdracht worden de computers afgesloten. De parameter ComputerName wordt gebruikt om de lijst met computers in de variabele $s in te dienen, de parameter Forceren om een onmiddellijke afsluiting af te dwingen en de parameter Credential om de referenties in te dienen die zijn opgeslagen in de variabele $c. Ook wordt de parameter ThrottleLimit gebruikt om de opdracht te beperken tot 10 gelijktijdige verbindingen.

Parameters

-AsJob

Geeft aan dat deze cmdlet wordt uitgevoerd als een achtergrondtaak.

Als u deze parameter wilt gebruiken, moeten de lokale en externe computers worden geconfigureerd voor externe communicatie. In Windows Vista en latere versies van het Windows-besturingssysteem moet u Windows PowerShell openen met behulp van de optie Als administrator uitvoeren. Zie about_Remote_Requirements voor meer informatie.

Wanneer u de parameter AsJob opgeeft, retourneert de opdracht onmiddellijk een object dat de achtergrondtaak vertegenwoordigt. U kunt blijven werken in de sessie terwijl de taak is voltooid. De taak wordt gemaakt op de lokale computer en de resultaten van externe computers worden automatisch geretourneerd naar de lokale computer. Gebruik de cmdlet Receive-Job om de taakresultaten op te halen.

Zie about_Jobs en about_Remote_Jobs voor meer informatie over Windows PowerShell achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Hiermee geeft u de computers die moeten worden gestopt. Standaard is dit de lokale computer.

Typ de NETBIOS-naam, het IP-adres of de Fully Qualified Domain Name van een of meer computers in een door komma's gescheiden lijst. Als u de lokale computer wilt opgeven, typt u de computernaam of localhost.

Deze parameter is niet afhankelijk van externe Windows PowerShell. U kunt de parameter ComputerName zelfs gebruiken als uw computer niet is geconfigureerd om externe opdrachten uit te voeren.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in, zoals een object van de cmdlet Get-Credential.

Type:PSCredential
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DcomAuthentication

Hiermee geeft u het verificatieniveau op dat deze cmdlet gebruikt met WMI. Stop-Computer maakt gebruik van WMI. De aanvaardbare waarden voor deze parameter zijn:

  • Standaard. Windows-verificatie
  • Geen. Geen COM-verificatie
  • Verbinding maken. COM-verificatie op verbindingsniveau
  • Oproep. COM-verificatie op oproepniveau
  • Pakket. COM-verificatie op pakketniveau
  • PacketIntegrity. COM-verificatie op pakketintegriteitsniveau
  • PacketPrivacy. COM-verificatie op pakketprivacyniveau
  • Ongewijzigd. Hetzelfde als de vorige opdracht

De standaardwaarde is Pakket.

Zie AuthenticationLevel Enumeration in de MSDN-bibliotheek voor meer informatie over de waarden van deze parameter.

Type:AuthenticationLevel
Aliases:Authentication
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Hiermee wordt een onmiddellijke afsluiting van de computers afgestaan.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Hiermee geeft u het imitatieniveau op dat moet worden gebruikt wanneer deze cmdlet WMI aanroept. Stop-Computer maakt gebruik van WMI. De aanvaardbare waarden voor deze parameter zijn:

  • Standaard. Standaardimitatie.
  • Anonieme. Hiermee verbergt u de identiteit van de aanroeper.
  • Identificeren. Hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.
  • Imiteren. Hiermee kunnen objecten de referenties van de aanroeper gebruiken.

De standaardwaarde is Imiteren.

Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Protocol

Hiermee geeft u op welk protocol moet worden gebruikt om de computers opnieuw op te starten. De acceptabele waarden voor deze parameter zijn: WSMan en DCOM. De standaardwaarde is DCOM.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Accepted values:DCOM, WSMan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen dat tot stand kan worden gebracht om deze opdracht uit te voeren. Als u deze parameter weglaat of een waarde van 0 invoert, wordt de standaardwaarde 32 gebruikt.

De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om de gebruikersreferenties te verifiëren wanneer deze cmdlet het WSMan-protocol gebruikt. De aanvaardbare waarden voor deze parameter zijn:

  • Basic
  • CredSSP
  • Standaard
  • Samenvatting
  • Kerberos
  • Onderhandelen.

De standaardwaarde is Standaard.

Zie AuthenticationMechanism Enumeration in de MSDN-bibliotheek voor meer informatie over de waarden van deze parameter.

Waarschuwing: CredSSP-verificatie (Credential Security Service Provider), waarbij de gebruikersreferenties worden doorgegeven aan een externe computer om te worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is gecompromitteerd, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

None

U kunt geen invoer doorspezen naar deze cmdlet.

Uitvoerwaarden

None or System.Management.Automation.RemotingJob

De cmdlet retourneert een System.Management.Automation.RemotingJob-object als u de parameter AsJob opgeeft. Anders wordt er geen uitvoer gegenereerd.

Notities

  • Deze cmdlet maakt gebruik van de Methode Win32Shutdown van de WMI-klasse Win32_OperatingSystem .
  • In Windows PowerShell 2.0 werkt de parameter AsJob niet betrouwbaar wanneer u externe computers opnieuw opstart of stopt. In Windows PowerShell 3.0 is de implementatie gewijzigd om dit probleem op te lossen.