Restart-Computer

Startar om operativsystemet på lokala datorer och fjärrdatorer.

Syntax

Restart-Computer
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [-WsmanAuthentication <String>]
       [-Protocol <String>]
       [[-ComputerName] <String[]>]
       [[-Credential] <PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-Computer
       [-AsJob]
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [[-ComputerName] <String[]>]
       [[-Credential] <PSCredential>]
       [-Force]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Cmdleten Restart-Computer startar om operativsystemet på lokala datorer och fjärrdatorer.

Du kan använda parametrarna Restart-Computer för för att köra omstartsåtgärderna som ett bakgrundsjobb, ange autentiseringsnivåer och alternativa autentiseringsuppgifter, begränsa de åtgärder som körs samtidigt och framtvinga en omedelbar omstart.

Från och med Windows PowerShell 3.0 kan du vänta tills omstarten har slutförts innan du kör nästa kommando. Ange en tidsgräns för väntetid och frågeintervall och vänta tills vissa tjänster är tillgängliga på den omstartade datorn. Den här funktionen gör det praktiskt att använda Restart-Computer i skript och funktioner.

Du kan använda WS-Management-protokollet (WSMan) för att starta om datorn, om DCOM-anrop (Distributed Component Object Model) blockeras, till exempel av en företagsbrandvägg. Mer information finns i WS-Management Protocol.

Den här cmdleten kräver endast Windows PowerShell-fjärrkommunikation när du använder AsJob-parametern i ett kommando.

Exempel

Exempel 1: Starta om den lokala datorn

Restart-Computer startar om den lokala datorn.

Restart-Computer

Exempel 2: Starta om flera datorer

Restart-Computer kan starta om fjärrdatorer och lokala datorer. Parametern ComputerName accepterar en matris med datornamn.

Restart-Computer -ComputerName Server01, Server02, localhost

Exempel 3: Starta om datorer som ett bakgrundsjobb

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

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.

$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job

Restart-Computer använder parametern ComputerName för att ange Server01 och Server02. Parametern AsJob kör kommandot som ett bakgrundsjobb. Jobbobjektet lagras i variabeln $Job . $Job skickas ned pipelinen till cmdleten Receive-Job som hämtar resultatet.

Exempel 4: Starta om en fjärrdator

Restart-Computer startar om en fjärrdator med anpassade personifierings- och autentiseringsinställningar.

Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Restart-Computer använder parametern ComputerName för att ange Server01. Parametern Personifiering anger Anonym för att dölja beställarens identitet. Parametern DcomAuthentication anger PacketIntegrity som anslutningens autentiseringsnivå.

Exempel 5: Framtvinga omstart av datorer som anges i en textfil

Det här exemplet tvingar fram en omedelbar omstart av datorerna som anges i Domain01.txt filen. Datornamnen från textfilen lagras i en variabel. Parametern Force tvingar fram en omedelbar omstart och parametern ThrottleLimit begränsar antalet samtidiga anslutningar.

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10

Get-Content använder parametern Sökväg för att hämta en lista över datornamn från en textfil, Domain01.txt. Datornamnen lagras i variabeln $Names. Get-Credential frågar efter ett användarnamn och lösenord och lagrar värdena i variabeln $Creds. Restart-Computer använder parametrarna ComputerName och Credential med sina variabler. Force-parametern orsakar en omedelbar omstart av varje dator. Parametern ThrottleLimit begränsar kommandot till 10 samtidiga anslutningar.

Exempel 6: Starta om en fjärrdator och vänta på PowerShell

Restart-Computer startar om fjärrdatorn och väntar sedan upp till 5 minuter (300 sekunder) på att PowerShell ska bli tillgängligt på den omstartade datorn innan den fortsätter.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer använder parametern ComputerName för att ange Server01. Parametern Vänta väntar på att omstarten ska slutföras. För anger att PowerShell kan köra kommandon på fjärrdatorn. Parametern Timeout anger en väntetid på fem minuter. Parametern Delay frågar fjärrdatorn varannan sekund för att avgöra om den startas om.

Exempel 7: Starta om en dator med hjälp av WSMan-protokollet

Restart-Computer startar om fjärrdatorn med hjälp av WSMan-protokollet i stället för standard-DCOM. Kerberos-autentisering avgör om den aktuella användaren har behörighet att starta om fjärrdatorn.

De här inställningarna är utformade för företag där DCOM-baserade omstarter misslyckas eftersom DCOM är blockerat. Till exempel av en brandvägg.

Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos

Restart-Computeranvänder parametern ComputerName för att ange fjärrdatorn Server01. Parametern Protocol anger att WSMan-protokollet ska användas. Parametern WsmanAuthentication anger autentiseringsmetoden som Kerberos.

Parametrar

-AsJob

Anger att Restart-Computer 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. I Windows Vista och senare versioner av Windows-operativsystemet måste du öppna PowerShell med alternativet Kör som administratör . Mer information finns i about_Remote_Requirements.

När du anger parametern AsJob 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ärrdatorerna returneras automatiskt till den lokala datorn. Om du vill hantera jobbet använder du cmdletarna Jobb . Använd cmdleten för att hämta jobbresultatet Receive-Job .

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

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ComputerName

Anger ett datornamn eller en kommaavgränsad matris med datornamn. Restart-Computeraccepterar ComputerName-objekt från pipelinen eller variablerna.

Ange NetBIOS-namnet, en IP-adress eller ett fullständigt domännamn för en fjärrdator. Om du vill ange den lokala datorn skriver du datornamnet, en punkt .eller localhost.

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

Om parametern ComputerName inte har angetts Restart-Computer startar du om den lokala datorn.

Typ:String[]
Alias:CN, __SERVER, Server, IPAddress
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör Restart-Computer.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 som genereras av cmdleten Get-Credential . Om du skriver ett användarnamn uppmanas du att ange lösenordet.

Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.

Kommentar

Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.

Typ:PSCredential
Position:1
Standardvärde:Current user
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DcomAuthentication

Anger den autentiseringsnivå som används för WMI-anslutningen. Restart-Computer använder WMI.

Giltiga värden är:

  • Samtal: COM-autentisering på samtalsnivå
  • Anslut: COM-autentisering på anslutningsnivå
  • Standard: Windows-autentisering
  • Ingen: Ingen COM-autentisering
  • Paket: COM-autentisering på paketnivå.
  • PacketIntegrity: COM-autentisering på paketintegritetsnivå
  • PacketPrivacy: COM-autentisering på paketsekretessnivå.
  • Oförändrad: Autentiseringsnivån är densamma som föregående kommando.

Mer information finns i AuthenticationLevel Enumeration.

Den här parametern introduceras i Windows PowerShell 3.0.

Typ:AuthenticationLevel
Alias:Authentication
Godkända värden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Delay

Anger frekvensen för frågor i sekunder. PowerShell frågar den tjänst som anges av parametern For för att avgöra om tjänsten är tillgänglig efter att datorn har startats om.

Den här parametern är endast giltig tillsammans med parametrarna Vänta och För .

Den här parametern introducerades i Windows PowerShell 3.0.

Om parametern Delay inte har angetts Restart-Computer använder du en fördröjning på fem sekunder.

Typ:Int16
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-For

Anger beteendet för PowerShell när den väntar på att den angivna tjänsten eller funktionen ska bli tillgänglig när datorn startas om. Den här parametern är endast giltig med parametern Wait .

De acceptabla värdena för den här parametern är:

  • Standard: Väntar tills PowerShell startas om.
  • PowerShell: Kan köra kommandon i en PowerShell-fjärrsession på datorn.
  • WMI: Tar emot ett svar på en Win32_ComputerSystem fråga för datorn.
  • WinRM: Kan upprätta en fjärrsession till datorn med hjälp av WS-Management.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:WaitForServiceTypes
Godkända värden:Wmi, WinRM, PowerShell
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Force

Tvingar fram en omedelbar omstart av datorn.

Typ:SwitchParameter
Alias:f
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Impersonation

Anger den personifieringsnivå som den här cmdleten använder för att anropa WMI. Restart-Computer använder WMI. De acceptabla värdena för den här parametern är:

  • Standard: Standardpersonifiering. Trots namnet är detta inte standardvärdet.
  • Anonym: Döljer uppringarens identitet.
  • Identifiera: Tillåter objekt att köra frågor mot anroparens autentiseringsuppgifter.
  • Personifiera: Tillåter att objekt använder anroparens autentiseringsuppgifter.
Typ:ImpersonationLevel
Godkända värden:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Protocol

Anger vilket protokoll som ska användas för att starta om datorerna. Giltiga värden är WSMan och DCOM.

Den här parametern introduceras i Windows PowerShell 3.0.

Typ:String
Godkända värden:DCOM, WSMan
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ThrottleLimit

Anger det maximala antalet samtidiga anslutningar som kan upprättas för att köra det här kommandot. Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller på datorn.

Om parametern ThrottleLimit inte har angetts eller om värdet 0 används använder Restart-Computer du högst 32 samtidiga anslutningar.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Timeout

Anger väntetidens varaktighet i sekunder. När tidsgränsen överskrids Restart-Computer återgår du till kommandotolken, även om datorerna inte startas om.

Parametern Timeout är endast giltig med parametern Wait. Tidsgränsen åsidosätter vänteparameterns obegränsade väntetid.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Int32
Alias:TimeoutSec
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Wait

Restart-Computer undertrycker PowerShell-prompten och blockerar pipelinen tills datorerna har startats om. Du kan använda den här parametern i ett skript för att starta om datorer och sedan fortsätta att bearbeta när omstarten är klar.

Parametern Wait väntar på obestämd tid på att datorerna ska startas om. Du kan använda Timeout för att justera parametrarna timing och For och Delay för att vänta tills vissa tjänster blir tillgängliga på de omstartade datorerna.

Parametern Wait är inte giltig när du startar om den lokala datorn. Om värdet för parametern ComputerName innehåller namnen på fjärrdatorer och den lokala datorn Restart-Computer genererar ett icke-avslutande fel för Vänta på den lokala datorn, men väntar på att fjärrdatorerna ska startas om.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om körningarna Restart-Computer . Cmdleten Restart-Computer körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WsmanAuthentication

Anger den mekanism som används för att autentisera användarautentiseringsuppgifterna. Den här parametern introducerades i Windows PowerShell 3.0.

De acceptabla värdena för den här parametern är: Basic, CredSSP, Default, Digest, Kerberos och Negotiate.

Mer information finns i AuthenticationMechanism.

Varning

CredSSP-autentisering (CredSSP), där användarautentiseringsuppgifterna skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer ä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.

Typ:String
Godkända värden:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka en sträng som innehåller ett datornamn till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

System.Management.Automation.RemotingJob

När du använder parametern AsJob returnerar den här cmdleten ett jobbobjekt.

Kommentarer

  • Restart-Computer fungerar bara på datorer som kör Windows och kräver att WinRM och WMI stänger av ett system, inklusive det lokala systemet.
  • Restart-Computeranvänder metoden Win32Shutdown för WMI-klassen (Windows Management Instrumentation) Win32_OperatingSystem. Den här metoden kräver att SeShutdownPrivilege-behörigheten aktiveras för det användarkonto som används för att starta om datorn.

I Windows PowerShell 2.0 fungerar inte AsJob-parametern tillförlitligt när du startar om eller stoppar fjärrdatorer. I Windows PowerShell 3.0 ändras implementeringen för att lösa problemet.