Sdílet prostřednictvím


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-Computerná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

String

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.