Dela via


Restart-Computer

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

Syntax

Restart-Computer
       [[-ComputerName] <string[]>]
       [[-Credential] <pscredential>]
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [-WsmanAuthentication <string>]
       [-Protocol <string>]
       [-Force]
       [-Wait]
       [-Timeout <int>]
       [-For <WaitForServiceTypes>]
       [-Delay <int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-Computer
       [[-ComputerName] <string[]>]
       [[-Credential] <pscredential>]
       [-AsJob]
       [-DcomAuthentication <AuthenticationLevel>]
       [-Impersonation <ImpersonationLevel>]
       [-Force]
       [-ThrottleLimit <int>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

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

Du kan använda parametrarna för Restart-Computer för att köra omstartsåtgärderna som ett bakgrundsjobb, för att ange autentiseringsnivåer och alternativa autentiseringsuppgifter, för att begränsa de åtgärder som körs samtidigt och för att 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 protokollet WS-Management (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 parametern AsJob 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 i 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 Impersonation anger Anonym för att dölja begärandens 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 filen Domain01.txt. 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 Path 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. Parametern Force 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 Wait 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-Computer anvä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 Job. 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.

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-Computer accepterar 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 startar Restart-Computer 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. Ange ett användarnamn, till exempel User01, Domain01\User01, eller ange ett PSCredential- objekt som genereras av Get-Credential cmdlet.

Om parametern Credential inte har angetts använder Restart-Computer den aktuella användarens autentiseringsuppgifter.

Typ:PSCredential
Position:1
Standardvärde:None
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:

  • Anropa: COM-autentisering på samtalsnivå
  • Connect: COM-autentisering på anslutningsnivå
  • standard: Windows-autentisering
  • Ingen: Ingen COM-autentisering
  • Packet: COM-autentisering på paketnivå.
  • PacketIntegrity: COM-autentisering på paketintegritetsnivå
  • PacketPrivacy: COM-autentisering på paketsekretessnivå.
  • Oförändrat: 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 För 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 Wait och For.

Den här parametern introducerades i Windows PowerShell 3.0.

Om parametern Delay inte har angetts använder Restart-Computer 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 godtagbara värdena för den här parametern är:

  • Standard: Väntar på att PowerShell ska 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 godtagbara värdena för den här parametern är:

  • Standard: Standard personifiering. Trots namnet är detta inte standardvärdet.
  • Anonym: Döljer uppringarens identitet.
  • Identifiera: Tillåter att objekt frågar efter 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 högst 32 samtidiga anslutningar.

Typ:Int
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 återgår Restart-Computer till kommandotolken, även om datorerna inte startas om.

Parametern Timeout är endast giltig med parametern Wait. timeout åsidosätter parametern Wait obegränsad väntetid.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Int
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å att datorerna ska startas om på obestämd tid. Du kan använda timeout- för att justera tidsinställningen och parametrarna För och Fördröj 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 genererar Restart-Computer 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 Restart-Computer körs. 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 godtagbara värdena för den här parametern är: Basic, CredSSP, Standard, Digest, Kerberosoch 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

Restart-Computer accepterar datornamn från pipelinen eller variablerna.

I Windows PowerShell 2.0 tar parametern ComputerName endast indata från pipelinen efter egenskapsnamn. I Windows PowerShell 3.0 och senare tar parametern ComputerName indata från pipelinen efter värde.

Utdata

None, System.Management.Automation.RemotingJob

Om du anger parametern AsJob returnerar Restart-Computer ett jobbobjekt. Annars genereras inga utdata.

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-Computer använder metoden Win32Shutdown i WMI Win32_OperatingSystem-klassen (Windows Management Instrumentation).

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