Dela via


Stop-Computer

Stoppar (stänger av) lokala datorer och fjärrdatorer.

Syntax

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

Description

Cmdleten Stop-Computer stänger av datorer via fjärranslutning. Den kan också stänga av den lokala datorn.

Du kan använda parametrarna för Stop-Computer för att köra avstängningsåtgärderna som ett bakgrundsjobb, ange autentiseringsnivåer och alternativa autentiseringsuppgifter, begränsa de samtidiga anslutningar som skapas för att köra kommandot och framtvinga en omedelbar avstängning.

Den här cmdleten kräver inte Windows PowerShell fjärrkommunikation om du inte använder asjob-parametern.

Exempel

Exempel 1: Stäng av den lokala datorn

PS C:\> Stop-Computer

Det här kommandot stänger av den lokala datorn.

Exempel 2: Stäng av två fjärrdatorer och den lokala datorn

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

Det här kommandot stoppar två fjärrdatorer, Server01 och Server02, och den lokala datorn som identifieras som localhost.

Exempel 3: Stäng av fjärrdatorer som ett bakgrundsjobb

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

Dessa kommandon kör Stop-Computer som ett bakgrundsjobb på två fjärrdatorer och får sedan resultatet.

Det första kommandot anger parametern AsJob för att köra kommandot som ett bakgrundsjobb. Kommandot sparar det resulterande jobbobjektet i variabeln $j.

Det andra kommandot använder en pipelineoperator för att skicka jobbobjektet i $j till Receive-Job, som hämtar jobbresultatet. Kommandot sparar resultatet i variabeln $results.

Det tredje kommandot visar resultatet som sparats i variabeln $results.

Eftersom AsJob skapar jobbet på den lokala datorn och automatiskt returnerar resultatet till den lokala datorn kan du köra Receive-Job som ett lokalt kommando.

Exempel 4: Stäng av en fjärrdator

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

Det här kommandot stoppar server01-fjärrdatorn. Kommandot använder anpassade personifierings- och autentiseringsinställningar.

Exempel 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

Dessa kommandon tvingar fram en omedelbar avstängning av alla datorer i Domain01.

Det första kommandot hämtar en lista över datorer i domänen och lagrar dem sedan i variabeln $s.

Det andra kommandot hämtar autentiseringsuppgifterna för en domänadministratör och lagrar dem sedan i variabeln $c.

Det tredje kommandot stänger av datorerna. Den använder parametern ComputerName för att skicka listan över datorer i variabeln $s , force-parametern för att tvinga fram en omedelbar avstängning och parametern Credential för att skicka de autentiseringsuppgifter som sparats i variabeln $c. Den använder också parametern ThrottleLimit för att begränsa kommandot till 10 samtidiga anslutningar.

Parametrar

-AsJob

Anger att den här cmdleten körs som ett bakgrundsjobb.

Om du vill använda den här parametern måste de lokala datorerna och fjärrdatorerna konfigureras för fjärrkommunikation, och i Windows Vista och senare versioner av Windows-operativsystemet måste du öppna Windows PowerShell med alternativet Kör som administratör. Mer information finns i about_Remote_Requirements.

När du anger asjob-parametern returnerar kommandot omedelbart ett objekt som representerar bakgrundsjobbet. Du kan fortsätta att arbeta i sessionen medan jobbet är klart. Jobbet skapas på den lokala datorn och resultatet från fjärrdatorer returneras automatiskt till den lokala datorn. Använd cmdleten Receive-Job för att hämta jobbresultatet.

Mer information om Windows PowerShell bakgrundsjobb finns i about_Jobs och about_Remote_Jobs.

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

-ComputerName

Anger vilka datorer som ska stoppas. Standard är den lokala datorn.

Ange NETBIOS-namn, IP-adress eller fullständigt domännamn för en eller flera datorer i en kommaavgränsad lista. Om du vill ange den lokala datorn skriver du datornamnet eller localhost.

Den här parametern förlitar sig inte på Windows PowerShell fjärrkommunikation. Du kan använda parametern ComputerName även om datorn inte har konfigurerats för att köra fjärrkommandon.

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt , till exempel ett från cmdleten Get-Credential.

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

-DcomAuthentication

Anger den autentiseringsnivå som den här cmdleten använder med WMI. Stop-Computer använder WMI. De acceptabla värdena för den här parametern är:

  • Standard. Windows-autentisering
  • Inga. Ingen COM-autentisering
  • Anslut. COM-autentisering på anslutningsnivå
  • Kalla. COM-autentisering på samtalsnivå
  • Paket. COM-autentisering på paketnivå
  • PacketIntegrity. COM-autentisering på paketintegritetsnivå
  • PacketPrivacy. Com-autentisering på paketsekretessnivå
  • Oförändrad. Samma som föregående kommando

Standardvärdet är Paket.

Mer information om värdena för den här parametern finns i AuthenticationLevel Enumeration i MSDN-biblioteket.

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

Tvingar fram en omedelbar avstängning av datorerna.

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

-Impersonation

Anger personifieringsnivån som ska användas när denna cmdlet anropar WMI. Stop-Computer använder WMI. De acceptabla värdena för den här parametern är:

  • Standard. Standardpersonifiering.
  • Anonym. Döljer anroparens identitet.
  • Identifiera. Tillåter att objekt frågar efter anroparens autentiseringsuppgifter.
  • Personifiera. Tillåter att objekt använder anroparens autentiseringsuppgifter.

Standardvärdet är Personifiera.

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

Anger vilket protokoll som ska användas för att starta om datorerna. De acceptabla värdena för den här parametern är: WSMan och DCOM. Standardvärdet är DCOM.

Den här parametern introducerades i 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

Anger det maximala antalet samtidiga anslutningar som kan upprättas för att köra det här kommandot. Om du utelämnar den här parametern eller anger värdet 0 används standardvärdet 32.

Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller datorn.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

-WsmanAuthentication

Anger den mekanism som används för att autentisera användarautentiseringsuppgifterna när denna cmdlet använder WSMan-protokollet. De acceptabla värdena för den här parametern är:

  • Basic
  • CredSSP
  • Standardvärde
  • Sammandrag
  • Kerberos
  • Förhandla.

Standardvärdet är Standard.

Mer information om värdena för den här parametern finns i AuthenticationMechanism Enumeration i MSDN-biblioteket.

Varning! CredSSP-autentisering (CredSSP), där autentiseringsuppgifterna skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på fler än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.

Den här parametern introducerades i 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

Indata

None

Du kan inte skicka indata till den här cmdleten.

Utdata

None or System.Management.Automation.RemotingJob

Cmdleten returnerar ett System.Management.Automation.RemotingJob-objekt om du anger parametern AsJob . Annars genererar den inga utdata.

Kommentarer

  • Den här cmdleten använder metoden Win32Shutdown i WMI-klassen Win32_OperatingSystem .
  • I Windows PowerShell 2.0 fungerar inte AsJob-parametern tillförlitligt när du startar om/stoppar fjärrdatorer. I Windows PowerShell 3.0 ändras implementeringen för att lösa problemet.