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
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.