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