Restart-Computer
Restartuje operační systém na místních a vzdálených počítačích.
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
Rutina Restart-Computer
restartuje operační systém na místních a vzdálených počítačích.
Parametry nástroje můžete použít Restart-Computer
ke spuštění operací restartování jako úlohy na pozadí, k určení úrovní ověřování a alternativních přihlašovacích údajů, k omezení operací, které běží ve stejnou dobu, a k vynucení okamžitého restartování.
Od Windows PowerShell 3.0 můžete před spuštěním dalšího příkazu počkat na dokončení restartování. Zadejte časový limit čekání a interval dotazů a počkejte, až budou na restartu počítače k dispozici konkrétní služby. Tato funkce umožňuje praktické použití Restart-Computer
ve skriptech a funkcích.
Můžete použít protokol WS-Management (WSMan) k restartování počítače v případě, že jsou volání modelu DCOM (Distributed Component Object Model) blokována, například podnikovou bránou firewall. Další informace naleznete v tématu WS-Management Protocol.
Tato rutina vyžaduje Windows PowerShell vzdálené komunikace pouze v případě, že v příkazu použijete parametr AsJob.
Příklady
Příklad 1: Restartování místního počítače
Restart-Computer
restartuje místní počítač.
Restart-Computer
Příklad 2: Restartování více počítačů
Restart-Computer
může restartovat vzdálené a místní počítače. Parametr ComputerName přijímá pole názvů počítačů.
Restart-Computer -ComputerName Server01, Server02, localhost
Příklad 3: Restartování počítačů jako úlohy na pozadí
Tyto příkazy spustí Restart-Computer
příkaz jako úlohu na pozadí na dvou vzdálených počítačích a pak získají výsledky.
Vzhledem k tomu, že AsJob vytvoří úlohu v místním počítači a automaticky vrátí výsledky do místního počítače, můžete spustit Receive-Job
jako místní příkaz.
$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job
Restart-Computer
používá parametr ComputerName k zadání Server01 a Server02. Parametr AsJob spustí příkaz jako úlohu na pozadí. Objekt úlohy je uložený v $Job
proměnné . $Job
se odešle do kanálu do rutiny Receive-Job
, která získá výsledky.
Příklad 4: Restartování vzdáleného počítače
Restart-Computer
restartuje vzdálený počítač s vlastním nastavením zosobnění a ověřování.
Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Restart-Computer
používá parametr ComputerName k zadání serveru Server01. Parametr Zosobnění určuje anonymní, aby se skryla identita žadatele. Parametr DcomAuthentication určuje úroveň ověřování připojení PacketIntegrity.
Příklad 5: Vynucení restartování počítačů uvedených v textovém souboru
Tento příklad vynutí okamžité restartování počítačů uvedených v Domain01.txt
souboru. Názvy počítačů z textového souboru jsou uloženy v proměnné. Parametr Force vynutí okamžité restartování a parametr ThrottleLimit omezuje počet souběžných připojení.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10
Get-Content
používá parametr Path k získání seznamu názvů počítačů z textového souboru Domain01.txt. Názvy počítačů jsou uloženy v proměnné $Names
. Get-Credential
zobrazí výzvu k zadání uživatelského jména a hesla a uloží hodnoty do proměnné $Creds
. Restart-Computer
používá parametry ComputerName a Credential se svými proměnnými. Parametr Force způsobí okamžité restartování každého počítače. Parametr ThrottleLimit omezuje příkaz na 10 souběžných připojení.
Příklad 6: Restartování vzdáleného počítače a čekání na PowerShell
Restart-Computer
restartuje vzdálený počítač a potom počká až 5 minut (300 sekund), než bude PowerShell na restartu počítače dostupný, než bude pokračovat.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
používá parametr ComputerName k zadání serveru Server01. Parametr Wait čeká na dokončení restartování. For určuje, že PowerShell může spouštět příkazy na vzdáleném počítači. Parametr Timeout určuje pětiminutové čekání. Parametr Delay se každé dvě sekundy dotazuje vzdáleného počítače, aby zjistil, jestli se restartoval.
Příklad 7: Restartování počítače pomocí protokolu WSMan
Restart-Computer
restartuje vzdálený počítač pomocí protokolu WSMan namísto výchozího modelu DCOM. Ověřování protokolem Kerberos určuje, jestli má aktuální uživatel oprávnění restartovat vzdálený počítač.
Tato nastavení jsou určená pro podniky, ve kterých restartování založené na modelu DCOM selže, protože je model DCOM zablokovaný. Například bránou firewall.
Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos
Restart-Computer
používá parametr ComputerName k určení vzdáleného počítače Server01.
Parametr Protocol určuje, že se má použít protokol WSMan. Parametr WsmanAuthentication určuje metodu ověřování jako Kerberos.
Parametry
-AsJob
Označuje, že Restart-Computer
se spouští jako úloha na pozadí.
Chcete-li použít tento parametr, musí být místní a vzdálené počítače nakonfigurovány pro vzdálenou komunikace. V systému Windows Vista a novějších verzích operačního systému Windows je nutné otevřít PowerShell pomocí možnosti Spustit jako správce . Další informace najdete v tématu about_Remote_Requirements.
Když zadáte parametr AsJob , příkaz okamžitě vrátí objekt, který představuje úlohu na pozadí. Po dokončení úlohy můžete pokračovat v práci v relaci. Úloha se vytvoří v místním počítači a výsledky ze vzdálených počítačů se automaticky vrátí do místního počítače. Ke správě úlohy použijte rutiny úlohy . K získání výsledků úlohy použijte rutinu Receive-Job
.
Další informace o Windows PowerShell úlohách na pozadí najdete v tématu about_Jobs a about_Remote_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Určuje jeden název počítače nebo pole názvů počítačů oddělené čárkami. Restart-Computer
přijímá objekty ComputerName z kanálu nebo proměnných.
Zadejte název rozhraní NetBIOS, IP adresu nebo plně kvalifikovaný název domény vzdáleného počítače. Pokud chcete zadat místní počítač, zadejte název počítače, tečku .
nebo localhost.
Tento parametr nespoléhá na vzdálené komunikace PowerShellu. Parametr ComputerName můžete použít i v případě, že váš počítač není nakonfigurovaný ke spouštění vzdálených příkazů.
Pokud parametr ComputerName není zadaný, Restart-Computer
nástroj restartuje místní počítač.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Před spuštěním Restart-Computer
nástroje zobrazí výzvu k potvrzení.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Zadejte uživatelské jméno, například User01, Domain01\User01, nebo zadejte objekt PSCredential vygenerovaný rutinou Get-Credential
.
Pokud parametr Credential není zadaný, Restart-Computer
použije se přihlašovací údaje aktuálního uživatele.
Type: | PSCredential |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DcomAuthentication
Určuje úroveň ověřování, která se používá pro připojení rozhraní WMI. Restart-Computer
používá rozhraní WMI.
Platné hodnoty jsou:
- Volání: Ověřování modelu COM na úrovni volání
- Připojení: Ověřování modelu COM na úrovni připojení
- Výchozí: Ověřování systému Windows
- Žádné: Žádné ověřování modelu COM
- Paket: Ověřování modelu COM na úrovni paketů.
- PacketIntegrity: Ověřování modelu COM na úrovni integrity paketů
- PacketPrivacy: Paketové ověřování modelu COM na úrovni ochrany osobních údajů.
- Beze změny: Úroveň ověřování je stejná jako u předchozího příkazu.
Další informace najdete v tématu AuthenticationLevel – výčet.
Tento parametr je zaveden v Windows PowerShell 3.0.
Type: | AuthenticationLevel |
Aliases: | Authentication |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
Určuje frekvenci dotazů v sekundách. PowerShell se dotazuje na službu určenou parametrem For a určí, jestli je služba dostupná po restartování počítače.
Tento parametr je platný pouze společně s parametry Wait a For .
Tento parametr byl zaveden v Windows PowerShell 3.0.
Pokud parametr Delay není zadaný, Restart-Computer
použije se pětisekundové zpoždění.
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-For
Určuje chování PowerShellu při čekání na dostupnost zadané služby nebo funkce po restartování počítače. Tento parametr je platný pouze s parametrem Wait .
Tento parametr přijímá tyto hodnoty:
- Výchozí: Čeká na restartování PowerShellu.
- PowerShell: Může spouštět příkazy ve vzdálené relaci PowerShellu na počítači.
- WMI: Obdrží odpověď na dotaz Win32_ComputerSystem pro počítač.
- WinRM: Může navázat vzdálenou relaci s počítačem pomocí ws-Management.
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Vynutí okamžité restartování počítače.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Impersonation
Určuje úroveň zosobnění, kterou tato rutina používá k volání rozhraní WMI. Restart-Computer
používá rozhraní WMI.
Tento parametr přijímá tyto hodnoty:
- Výchozí: Výchozí zosobnění. Bez ohledu na název to není výchozí hodnota.
- Anonymní: Skryje identitu volajícího.
- Identifikace: Umožňuje objektům dotazovat se na přihlašovací údaje volajícího.
- Zosobnění: Umožňuje objektům používat přihlašovací údaje volajícího.
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Protocol
Určuje, který protokol se má použít k restartování počítačů. Platné hodnoty jsou WSMan a DCOM.
Tento parametr je zaveden v Windows PowerShell 3.0.
Type: | String |
Accepted values: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Určuje maximální počet souběžných připojení, která lze vytvořit pro spuštění tohoto příkazu. Omezení se vztahuje pouze na aktuální příkaz, nikoli na relaci nebo na počítač.
Pokud není zadaný parametr ThrottleLimit nebo se použije hodnota 0, Restart-Computer
použije se maximálně 32 souběžných připojení.
Type: | Int |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Určuje dobu čekání v sekundách. Po vypršení časového limitu Restart-Computer
se vrátí na příkazový řádek, a to i v případě, že se počítače nerestartují.
Parametr časového limitu je platný pouze s parametrem Wait . Časový limit přepíše neomezenou čekací dobu parametru Wait .
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | Int |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Restart-Computer
potlačí výzvu PowerShellu a zablokuje kanál, dokud se počítače nerestartují. Tento parametr můžete použít ve skriptu k restartování počítačů a následnému zpracování po dokončení restartování.
Parametr Wait čeká neomezeně dlouho, než se počítače restartují. Pomocí časového limitu můžete upravit časování a parametry For a Delay tak, aby se čekalo na dostupnost určitých služeb na restartovaných počítačích.
Parametr Wait není při restartování místního počítače platný. Pokud hodnota parametru ComputerName obsahuje názvy vzdálených počítačů a místního počítače, Restart-Computer
vygeneruje neukončující chybu čekání na místním počítači, ale čeká na restartování vzdálených počítačů.
Tento parametr byl zaveden v Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Ukazuje, co by se stalo, když se Restart-Computer
spustí. Rutina Restart-Computer
se nespustí.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele. Tento parametr byl zaveden v Windows PowerShell 3.0.
Přijatelné hodnoty pro tento parametr jsou: Basic, CredSSP, Default, Digest, Kerberos a Negotiate.
Další informace najdete v tématu AuthenticationMechanism.
Upozornění
Ověřování credSSP (Credential Security Service Provider), při kterém se přihlašovací údaje uživatele předávají vzdálenému počítači, který se má ověřit, je určené pro příkazy, které vyžadují ověření na více než jednom prostředku, jako je například přístup ke vzdálené síťové sdílené složce. Tento mechanismus zvyšuje bezpečnostní riziko vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, mohou být k řízení síťové relace použity přihlašovací údaje, které jsou mu předány.
Type: | String |
Accepted values: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Restart-Computer
přijímá názvy počítačů z kanálu nebo proměnných.
V Windows PowerShell 2.0 přijímá parametr ComputerName vstup z kanálu pouze podle názvu vlastnosti. V Windows PowerShell 3.0 a novějších přebírá parametr ComputerName vstup z kanálu podle hodnoty .
Výstupy
None, System.Management.Automation.RemotingJob
Pokud zadáte parametr AsJob , Restart-Computer
vrátí objekt úlohy. V opačném případě se nevygeneruje žádný výstup.
Poznámky
Restart-Computer
pracovat pouze na počítačích se systémem Windows a k vypnutí systému, včetně místního systému, vyžaduje WinRM a rozhraní WMI.Restart-Computer
používá metodu Win32ShutdownWin32_OperatingSystem třídy WMI (Windows Management Instrumentation).
V Windows PowerShell 2.0 nefunguje parametr AsJob spolehlivě při restartování nebo zastavování vzdálených počítačů. V Windows PowerShell 3.0 je implementace změněna, aby se tento problém vyřešil.