Dela via


Restart-Computer

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

Syntax

Restart-Computer
       [-WsmanAuthentication <String>]
       [[-ComputerName] <String[]>]
       [[-Credential]<PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Den här cmdleten är endast tillgänglig på Windows-plattformen.

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

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: Hämta datornamn från en textfil

Restart-Computer hämtar en lista över datornamn från en textfil och startar om datorerna. Parametern ComputerName har inte angetts. Men eftersom det är den första positionsparametern accepterar den datornamnen från textfilen som skickas ned i pipelinen.

Get-Content -Path C:\Domain01.txt | Restart-Computer

Get-Content använder parametern Path för att hämta en lista över datornamn från en textfil Domain01.txt. Datornamnen skickas nedåt i pipelinen. Restart-Computer startar om varje dator.

Exempel 4: 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.

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

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.

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 WsmanAuthentication

Restart-Computer startar om fjärrdatorn med hjälp av mekanismen WsmanAuthentication. Kerberos-autentisering avgör om den aktuella användaren har behörighet att starta om fjärrdatorn. Mer information finns i AuthenticationMechanism.

Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos

Restart-Computer använder parametern ComputerName för att ange fjärrdatorn Server01. Parametern WsmanAuthentication anger autentiseringsmetoden som Kerberos.

Parametrar

-ComputerName

Anger ett datornamn eller en kommaavgränsad matris med datornamn. Restart-Computer accepterar ComputerName objekt från pipelinen eller variabler.

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ärrstyrning. 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. Standardvärdet ä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-.

Notera

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

-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

-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 den obegränsade väntetiden för parametern Wait.

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å att datorerna ska startas om på obestämd tid. Du kan använda Timeout för att justera tidsinställningen samt 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-terminerande 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

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

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

  • I Windows använder Restart-Computer metoden Win32Shutdown för WMI-klassen (Windows Management Instrumentation) Win32_OperatingSystem. Den här metoden kräver SeShutdownPrivilege behörighet ska aktiveras för användarkontot som används för att starta om datorn.
  • I Linux och macOS använder Restart-Computer verktyget /sbin/shutdown bash.