Delen via


Restart-Computer

Start het besturingssysteem opnieuw op lokale en externe computers.

Syntaxis

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

De Restart-Computer cmdlet start het besturingssysteem opnieuw op de lokale en externe computers.

U kunt de parameters van Restart-Computer gebruiken om de herstartbewerkingen uit te voeren als achtergrondtaak, om de verificatieniveaus en alternatieve referenties op te geven, de bewerkingen te beperken die tegelijkertijd worden uitgevoerd en om een onmiddellijke herstart af te dwingen.

Vanaf Windows PowerShell 3.0 kunt u wachten tot het opnieuw opstarten is voltooid voordat u de volgende opdracht uitvoert. Geef een time-out en queryinterval op en wacht tot bepaalde services beschikbaar zijn op de computer die opnieuw is opgestart. Met deze functie kunt u Restart-Computer gebruiken in scripts en functies.

U kunt het WSMan-protocol (WS-Management) gebruiken om de computer opnieuw op te starten, voor het geval DCOM-aanroepen (Distributed Component Object Model) worden geblokkeerd, zoals door een bedrijfsfirewall. Zie WS-Management Protocolvoor meer informatie.

Voor deze cmdlet is externe communicatie met Windows PowerShell alleen vereist wanneer u de parameter AsJob in een opdracht gebruikt.

Voorbeelden

Voorbeeld 1: De lokale computer opnieuw opstarten

Restart-Computer de lokale computer opnieuw opstart.

Restart-Computer

Voorbeeld 2: Meerdere computers opnieuw opstarten

Restart-Computer kan externe en lokale computers opnieuw opstarten. De parameter ComputerName accepteert een matrix met computernamen.

Restart-Computer -ComputerName Server01, Server02, localhost

Voorbeeld 3: Computers opnieuw opstarten als achtergrondtaak

Met deze opdrachten wordt een Restart-Computer opdracht uitgevoerd als achtergrondtaak op twee externe computers en worden de resultaten opgehaald.

Omdat AsJob de taak op de lokale computer maakt en de resultaten automatisch naar de lokale computer retourneert, kunt u Receive-Job uitvoeren als een lokale opdracht.

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

Restart-Computer gebruikt de parameter ComputerName om Server01- en Server02-op te geven. De parameter AsJob voert de opdracht uit als achtergrondtaak. Het taakobject wordt opgeslagen in de $Job variabele. $Job wordt de pijplijn naar de Receive-Job-cmdlet verzonden waarmee de resultaten worden opgehaald.

Voorbeeld 4: Een externe computer opnieuw opstarten

Restart-Computer een externe computer opnieuw opstarten met aangepaste imitatie- en verificatie-instellingen.

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

Restart-Computer gebruikt de parameter ComputerName om Server01-op te geven. De parameter imitatie geeft anoniem op om de identiteit van de aanvrager te verbergen. De parameter DcomAuthentication specificeert PacketIntegrity als verificatieniveau van de verbinding.

Voorbeeld 5: Opnieuw opstarten van computers afdwingen die worden vermeld in een tekstbestand

In dit voorbeeld wordt een onmiddellijke herstart van de computers in het Domain01.txt-bestand afgestaan. De computernamen uit het tekstbestand worden opgeslagen in een variabele. De parameter Forceren dwingt een onmiddellijke herstart af en de parameter ThrottleLimit beperkt het aantal gelijktijdige verbindingen.

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

Get-Content gebruikt de parameter Path om een lijst met computernamen op te halen uit een tekstbestand, Domain01.txt. De computernamen worden opgeslagen in de variabele $Names. Get-Credential u vraagt om een gebruikersnaam en wachtwoord en slaat u de waarden op in de variabele $Creds. Restart-Computer gebruikt de parameters ComputerName en Credential met hun variabelen. De parameter Forceren veroorzaakt een onmiddellijke herstart van elke computer. De parameter ThrottleLimit beperkt de opdracht tot 10 gelijktijdige verbindingen.

Voorbeeld 6: Een externe computer opnieuw opstarten en wachten op PowerShell

Restart-Computer de externe computer opnieuw opstart en wacht tot 5 minuten (300 seconden) voordat PowerShell beschikbaar is op de opnieuw opgestarte computer voordat deze doorgaat.

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

Restart-Computer gebruikt de parameter ComputerName om Server01-op te geven. De parameter Wait wacht totdat het opnieuw opstarten is voltooid. De Voor geeft aan dat PowerShell opdrachten kan uitvoeren op de externe computer. De parameter Time-out geeft een wachttijd van vijf minuten op. De de parameter Delay voert elke twee seconden een query uit op de externe computer om te bepalen of deze opnieuw wordt opgestart.

Voorbeeld 7: Een computer opnieuw opstarten met behulp van het WSMan-protocol

Restart-Computer de externe computer opnieuw opstart met behulp van het WSMan-protocol in plaats van de standaard DCOM. Kerberos-verificatie bepaalt of de huidige gebruiker gemachtigd is om de externe computer opnieuw op te starten.

Deze instellingen zijn ontworpen voor ondernemingen waarin opnieuw opstarten op basis van DCOM mislukt omdat DCOM wordt geblokkeerd. Bijvoorbeeld door een firewall.

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

Restart-Computer gebruikt de parameter ComputerName om de externe computer op te geven, Server01-. De parameter Protocol geeft aan dat het WSMan-protocol moet worden gebruikt. De parameter WsmanAuthentication geeft de verificatiemethode op als Kerberos-.

Parameters

-AsJob

Geeft aan dat Restart-Computer wordt uitgevoerd als achtergrondtaak.

Als u deze parameter wilt gebruiken, moeten de lokale en externe computers worden geconfigureerd voor externe communicatie. Op Windows Vista en latere versies van het Windows-besturingssysteem moet u PowerShell openen met behulp van de optie Als administrator uitvoeren. Zie about_Remote_Requirementsvoor meer informatie.

Wanneer u de parameter AsJob opgeeft, retourneert de opdracht onmiddellijk een object dat de achtergrondtaak vertegenwoordigt. U kunt in de sessie blijven werken terwijl de taak is voltooid. De taak wordt gemaakt op de lokale computer en de resultaten van externe computers worden automatisch geretourneerd naar de lokale computer. Gebruik de cmdlets Job om de taak te beheren. Gebruik de cmdlet Receive-Job om de taakresultaten op te halen.

Zie about_Jobs en about_Remote_Jobsvoor meer informatie over Windows PowerShell-achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ComputerName

Hiermee geeft u één computernaam of een door komma's gescheiden matrix met computernamen op. Restart-Computer accepteert ComputerName objecten uit de pijplijn of variabelen.

Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van een externe computer. Als u de lokale computer wilt opgeven, typt u de computernaam, een punt .of localhost.

Deze parameter is niet afhankelijk van externe communicatie van PowerShell. U kunt de parameter ComputerName gebruiken, zelfs als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.

Als de parameter ComputerName niet is opgegeven, Restart-Computer de lokale computer opnieuw opstart.

Type:String[]
Aliassen:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Confirm

Vraagt u om bevestiging voordat u Restart-Computeruitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Typ een gebruikersnaam, zoals User01, Domain01\User01, of voer een PSCredential--object in dat is gegenereerd door de Get-Credential-cmdlet.

Als de parameter Credential niet is opgegeven, gebruikt Restart-Computer de referenties van de huidige gebruiker.

Type:PSCredential
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DcomAuthentication

Hiermee geeft u het verificatieniveau op dat wordt gebruikt voor de WMI-verbinding. Restart-Computer WMI gebruikt.

Geldige waarden zijn:

  • Oproep: COM-verificatie op gespreksniveau
  • Connect: COM-verificatie op connect-niveau
  • standaard: Windows-verificatie
  • Geen: Geen COM-verificatie
  • Packet: COM-verificatie op pakketniveau.
  • PacketIntegrity-: COM-verificatie op pakketintegriteitsniveau
  • PacketPrivacy: COM-verificatie op pakketprivacyniveau.
  • Ongewijzigde: het verificatieniveau is hetzelfde als de vorige opdracht.

Zie AuthenticationLevel Opsommingvoor meer informatie.

Deze parameter wordt geïntroduceerd in Windows PowerShell 3.0.

Type:AuthenticationLevel
Aliassen:Authentication
Geaccepteerde waarden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Delay

Hiermee geeft u de frequentie van query's, in seconden. PowerShell voert een query uit op de service die is opgegeven door de parameter Voor om te bepalen of de service beschikbaar is nadat de computer opnieuw is opgestart.

Deze parameter is alleen geldig in combinatie met de parameters Wait en For.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Als de parameter Delay niet is opgegeven, gebruikt Restart-Computer een vertraging van vijf seconden.

Type:Int16
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-For

Hiermee geeft u het gedrag van PowerShell op terwijl wordt gewacht tot de opgegeven service of functie beschikbaar is nadat de computer opnieuw is opgestart. Deze parameter is alleen geldig met de parameter Wait.

De acceptabele waarden voor deze parameter zijn:

  • standaard: Wacht tot PowerShell opnieuw is opgestart.
  • PowerShell-: opdrachten kunnen worden uitgevoerd in een externe PowerShell-sessie op de computer.
  • WMI-: ontvangt een antwoord op een Win32_ComputerSystem-query voor de computer.
  • WinRM-: kan een externe sessie tot stand brengen op de computer met behulp van WS-Management.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:WaitForServiceTypes
Geaccepteerde waarden:Wmi, WinRM, PowerShell
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Dwingt een onmiddellijke herstart van de computer af.

Type:SwitchParameter
Aliassen:f
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Impersonation

Hiermee geeft u het imitatieniveau op dat door deze cmdlet wordt gebruikt om WMI aan te roepen. Restart-Computer WMI gebruikt. De acceptabele waarden voor deze parameter zijn:

  • standaard-: standaardimitatie. Ondanks de naam is dit niet de standaardwaarde.
  • Anonieme: hiermee wordt de identiteit van de beller verborgen.
  • Identificeren: hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.
  • imiteren: hiermee kunnen objecten de referenties van de aanroeper gebruiken.
Type:ImpersonationLevel
Geaccepteerde waarden:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Protocol

Hiermee geeft u op welk protocol moet worden gebruikt om de computers opnieuw op te starten. De geldige waarden zijn WSMan- en DCOM-.

Deze parameter wordt geïntroduceerd in Windows PowerShell 3.0.

Type:String
Geaccepteerde waarden:DCOM, WSMan
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen op dat tot stand kan worden gebracht om deze opdracht uit te voeren. De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Als de parameter ThrottleLimit niet is opgegeven of als er een waarde van 0 wordt gebruikt, gebruikt Restart-Computer maximaal 32 gelijktijdige verbindingen.

Type:Int
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Timeout

Hiermee geeft u de duur van de wachttijd, in seconden. Wanneer de time-out is verstreken, keert Restart-Computer terug naar de opdrachtprompt, zelfs als de computers niet opnieuw worden opgestart.

De parameter Time-out is alleen geldig met de parameter Wait. Time-out de onbeperkte wachttijd van de parameter Wait overschrijft.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Int
Aliassen:TimeoutSec
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Wait

Restart-Computer onderdrukt de PowerShell-prompt en blokkeert de pijplijn totdat de computers opnieuw zijn opgestart. U kunt deze parameter in een script gebruiken om computers opnieuw op te starten en vervolgens door te gaan wanneer het opnieuw opstarten is voltooid.

De parameter Wait wacht voor onbepaalde tijd totdat de computers opnieuw worden opgestart. U kunt Time-out- gebruiken om de tijdsinstellingen en de Voor en Vertraging parameters om te wachten tot bepaalde services beschikbaar zijn op de opnieuw opgestarte computers.

De parameter Wait is niet geldig wanneer u de lokale computer opnieuw opstart. Als de waarde van de parameter ComputerName de namen van externe computers en de lokale computer bevat, genereert Restart-Computer een niet-afsluitfout voor Wacht op de lokale computer, maar wacht tot de externe computers opnieuw worden opgestart.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Laat zien wat er zou gebeuren als de Restart-Computer wordt uitgevoerd. De cmdlet Restart-Computer wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WsmanAuthentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om de gebruikersreferenties te verifiëren. Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

De acceptabele waarden voor deze parameter zijn: Basic, CredSSP, Default, Digest, Kerberosen Negotiate.

Zie AuthenticationMechanismvoor meer informatie.

Waarschuwing

CredSSP-verificatie (Credential Security Service Provider), waarbij de gebruikersreferenties worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Type:String
Geaccepteerde waarden:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

String

Restart-Computer accepteert computernamen uit de pijplijn of variabelen.

In Windows PowerShell 2.0 neemt de parameter ComputerName alleen invoer uit de pijplijn op eigenschapsnaam. In Windows PowerShell 3.0 en hoger neemt de parameter ComputerName invoer uit de pijplijn op waarde.

Uitvoerwaarden

None, System.Management.Automation.RemotingJob

Als u de parameter AsJob opgeeft, retourneert Restart-Computer een taakobject. Anders wordt er geen uitvoer gegenereerd.

Notities

  • Restart-Computer werkt alleen op computers met Windows en vereist WinRM en WMI om een systeem af te sluiten, inclusief het lokale systeem.
  • Restart-Computer maakt gebruik van de Win32Shutdown-methode van de klasse Windows Management Instrumentation (WMI Win32_OperatingSystem).

In Windows PowerShell 2.0 werkt de parameter AsJob niet betrouwbaar wanneer u externe computers opnieuw opstart of stopt. In Windows PowerShell 3.0 wordt de implementatie gewijzigd om dit probleem op te lossen.