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-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 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-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 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
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-Computer
anvä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.