Restart-Computer
Uruchamia ponownie system operacyjny na komputerach lokalnych i zdalnych.
Składnia
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie Restart-Computer
cmdlet ponownie uruchamia system operacyjny na komputerach lokalnych i zdalnych.
Możesz użyć parametrów Restart-Computer
, aby uruchomić operacje ponownego uruchamiania, określić poziomy uwierzytelniania i alternatywne poświadczenia, ograniczyć operacje uruchamiane w tym samym czasie i wymusić natychmiastowe ponowne uruchomienie.
Począwszy od Windows PowerShell 3.0, można poczekać na zakończenie ponownego uruchomienia przed uruchomieniem następnego polecenia. Określ limit czasu oczekiwania i interwał zapytania oraz poczekaj, aż określone usługi będą dostępne na ponownie uruchomionym komputerze. Ta funkcja ułatwia korzystanie ze Restart-Computer
skryptów i funkcji.
Przykłady
Przykład 1. Ponowne uruchamianie komputera lokalnego
Restart-Computer
ponownie uruchamia komputer lokalny.
Restart-Computer
Przykład 2. Ponowne uruchamianie wielu komputerów
Restart-Computer
program może ponownie uruchomić komputery zdalne i lokalne. Parametr ComputerName akceptuje tablicę nazw komputerów.
Restart-Computer -ComputerName Server01, Server02, localhost
Przykład 3. Pobieranie nazw komputerów z pliku tekstowego
Restart-Computer
Pobiera listę nazw komputerów z pliku tekstowego i ponownie uruchamia komputery. Nie określono parametru ComputerName . Ponieważ jest to parametr pierwszej pozycji, akceptuje nazwy komputerów z pliku tekstowego, który jest wysyłany w potoku.
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
Używa parametru Ścieżka , aby uzyskać listę nazw komputerów z pliku tekstowego ,Domain01.txt. Nazwy komputerów są wysyłane w dół potoku. Restart-Computer
uruchamia ponownie każdy komputer.
Przykład 4: Wymuś ponowne uruchomienie komputerów wymienionych w pliku tekstowym
Ten przykład wymusza natychmiastowe ponowne uruchomienie komputerów wymienionych w Domain01.txt
pliku . Nazwy komputerów z pliku tekstowego są przechowywane w zmiennej. Parametr Force wymusza natychmiastowe ponowne uruchomienie.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
Get-Content
Używa parametru Ścieżka , aby uzyskać listę nazw komputerów z pliku tekstowego ,Domain01.txt. Nazwy komputerów są przechowywane w zmiennej $Names
. Get-Credential
wyświetla monit o podanie nazwy użytkownika i hasła oraz zapisuje wartości w zmiennej $Creds
. Restart-Computer
używa parametrów ComputerName i Credential ze swoimi zmiennymi. Parametr Force powoduje natychmiastowe ponowne uruchomienie każdego komputera.
Przykład 6: Ponowne uruchamianie komputera zdalnego i oczekiwanie na program PowerShell
Restart-Computer
Uruchamia ponownie komputer zdalny, a następnie czeka do 5 minut (300 sekund), aby program PowerShell stał się dostępny na ponownie uruchomionym komputerze, zanim będzie on kontynuowany.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
używa parametru ComputerName do określenia Server01. Parametr Wait czeka na zakończenie ponownego uruchomienia. Dla określa, że program PowerShell może uruchamiać polecenia na komputerze zdalnym. Parametr Limit czasu określa pięć minut oczekiwania. Parametr Delay wysyła zapytanie do komputera zdalnego co dwie sekundy, aby określić, czy jest ponownie uruchamiany.
Przykład 7: Ponowne uruchamianie komputera przy użyciu WsmanAuthentication
Restart-Computer
ponownie uruchamia komputer zdalny przy użyciu mechanizmu WsmanAuthentication .
Uwierzytelnianie Kerberos określa, czy bieżący użytkownik ma uprawnienia do ponownego uruchomienia komputera zdalnego. Aby uzyskać więcej informacji, zobacz AuthenticationMechanism.
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
używa parametru ComputerName , aby określić komputer zdalny Server01.
Parametr WsmanAuthentication określa metodę uwierzytelniania jako Kerberos.
Parametry
-ComputerName
Określa jedną nazwę komputera lub rozdzielaną przecinkami tablicę nazw komputerów. Restart-Computer
akceptuje obiekty ComputerName z potoku lub zmiennych.
Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny komputera zdalnego. Aby określić komputer lokalny, wpisz nazwę komputera, kropkę .
lub localhost.
Ten parametr nie polega na komunikacji zdalnej programu PowerShell. Można użyć parametru ComputerName , nawet jeśli komputer nie jest skonfigurowany do uruchamiania poleceń zdalnych.
Jeśli parametr ComputerName nie jest określony, Restart-Computer
ponownie uruchomi komputer lokalny.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia Restart-Computer
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Wartość domyślna to użytkownik bieżący.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez Get-Credential
polecenie cmdlet. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.
Poświadczenia są przechowywane w obiekcie PSCredential , a hasło jest przechowywane jako secureString.
Uwaga
Aby uzyskać więcej informacji na temat ochrony danych secureString , zobacz Jak bezpieczny jest securestring?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
Określa częstotliwość zapytań w sekundach. Program PowerShell wysyła zapytanie do usługi określonej przez parametr For , aby określić, czy usługa jest dostępna po ponownym uruchomieniu komputera.
Ten parametr jest prawidłowy tylko razem z parametrami Wait i For .
Ten parametr został wprowadzony w Windows PowerShell 3.0.
Jeśli parametr Delay nie jest określony, Restart-Computer
używa pięciu sekund opóźnienia.
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-For
Określa zachowanie programu PowerShell, ponieważ oczekuje na udostępnienie określonej usługi lub funkcji po ponownym uruchomieniu komputera. Ten parametr jest prawidłowy tylko z parametrem Wait .
Dopuszczalne wartości dla tego parametru to:
- Ustawienie domyślne: czeka na ponowne uruchomienie programu PowerShell.
- PowerShell: może uruchamiać polecenia w sesji zdalnej programu PowerShell na komputerze.
- WMI: odbiera odpowiedź na zapytanie Win32_ComputerSystem dotyczące komputera.
- Usługa WinRM: może ustanowić sesję zdalną na komputerze przy użyciu usługi WS-Management.
Ten parametr został wprowadzony w 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
Wymusza natychmiastowe ponowne uruchomienie komputera.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Określa czas trwania oczekiwania w sekundach. Gdy upłynął limit czasu, Restart-Computer
powraca do wiersza polecenia, nawet jeśli komputery nie są ponownie uruchamiane.
Parametr limitu czasu jest prawidłowy tylko z parametrem Wait . Limit czasu zastępuje czas oczekiwania parametru wait na czas nieokreślony.
Ten parametr został wprowadzony w Windows PowerShell 3.0.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Restart-Computer
Pomija monit programu PowerShell i blokuje potok do momentu ponownego uruchomienia komputerów. Tego parametru można użyć w skry skryptzie, aby ponownie uruchomić komputery, a następnie kontynuować proces po zakończeniu ponownego uruchamiania.
Parametr Wait czeka na czas nieokreślony na ponowne uruchomienie komputerów. Limit czasu umożliwia dostosowanie chronometrażu oraz parametrów For i Delay w celu oczekiwania na udostępnienie określonych usług na ponownie uruchomionych komputerach.
Parametr Wait nie jest prawidłowy podczas ponownego uruchamiania komputera lokalnego. Jeśli wartość parametru ComputerName zawiera nazwy komputerów zdalnych i komputera lokalnego, Restart-Computer
generuje błąd niepowodujący zakończenia oczekiwania na komputerze lokalnym, ale czeka na ponowne uruchomienie komputerów zdalnych.
Ten parametr został wprowadzony w Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie, jeśli przebiegi zostaną uruchomione Restart-Computer
. Polecenie Restart-Computer
cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika. Ten parametr został wprowadzony w Windows PowerShell 3.0.
Dopuszczalne wartości dla tego parametru to: Basic, CredSSP, Default, Digest, Kerberos i Negotiate.
Aby uzyskać więcej informacji, zobacz AuthenticationMechanism.
Ostrzeżenie
Uwierzytelnianie dostawcy usług zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego do uwierzytelnienia, jest przeznaczone dla poleceń wymagających uwierzytelniania w więcej niż jednym zasobie, takich jak uzyskiwanie dostępu do zdalnego udziału sieciowego. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. W przypadku naruszenia zabezpieczeń komputera zdalnego poświadczenia przekazywane do niego mogą służyć do kontrolowania sesji sieciowej.
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 |
Dane wejściowe
Możesz przekazać potok ciągu zawierającego nazwę komputera do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
- W systemie Windows
Restart-Computer
używa metody Win32Shutdown klasy instrumentacji zarządzania Windows (WMI) Win32_OperatingSystem. Ta metoda wymaga włączenia uprawnień SeShutdownPrivilege dla konta użytkownika użytego do ponownego uruchomienia maszyny. - W systemach Linux i Mac OS
Restart-Computer
jest używane/sbin/shutdown
narzędzie bash.