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 w systemie Windows.
Polecenie cmdlet Restart-Computer
ponownie uruchamia system operacyjny na komputerach lokalnych i zdalnych.
Możesz użyć parametrów Restart-Computer
, aby uruchomić operacje ponownego uruchomienia, określić poziomy uwierzytelniania i alternatywne poświadczenia, aby ograniczyć operacje uruchamiane w tym samym czasie i wymusić natychmiastowe ponowne uruchomienie.
Począwszy od programu Windows PowerShell 3.0, możesz 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 ponownym uruchomieniu komputera. Ta funkcja ułatwia korzystanie z Restart-Computer
w skryptach i funkcjach.
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
może ponownie uruchamiać komputery lokalne i zdalne. 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. Jednakże ponieważ jest to pierwszy parametr pozycyjny, akceptuje nazwy komputerów z pliku tekstowego przesyłane w dół potoku.
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
używa parametru path, aby uzyskać listę nazw komputerów z pliku tekstowego Domain01.txt. Nazwy komputerów są wysyłane w dół potoku.
Restart-Computer
ponownie uruchamia każdy komputer.
Przykład 4. Wymuszanie ponownego uruchamiania komputerów wymienionych w pliku tekstowym
W tym przykładzie wymusza natychmiastowe ponowne uruchomienie komputerów wymienionych w pliku Domain01.txt
. 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 path, 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 przechowuje 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
ponownie uruchamia komputer zdalny, a następnie czeka do 5 minut (300 sekund), zanim program PowerShell stanie się dostępny na ponownie uruchomionym komputerze.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
używa parametru ComputerName w celu określenia Server01. Parametr Wait czeka na zakończenie ponownego uruchomienia.
For 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 ustalić, czy jest on uruchamiany ponownie.
Przykład 7. Ponowne uruchamianie komputera przy użyciu narzędzia 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 w celu określenia komputera zdalnego Server01.
Parametr WsmanAuthentication określa metodę uwierzytelniania 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 nie określono parametru ComputerName, Restart-Computer
ponownie uruchomi komputer lokalny.
Typ: | String[] |
Aliasy: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem Restart-Computer
.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential
. 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.
Notatka
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Typ: | PSCredential |
Position: | 1 |
Domyślna wartość: | Current user |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Delay
Określa częstotliwość zapytań w sekundach. Program PowerShell wysyła zapytanie do usługi określonej przez parametr Dla w celu określenia, 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 programie Windows PowerShell 3.0.
Jeśli parametr Delay nie jest określony, Restart-Computer
używa pięciu sekund opóźnienia.
Typ: | Int16 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-For
Określa zachowanie programu PowerShell w oczekiwaniu 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 tego parametru to:
- domyślne: czeka na ponowne uruchomienie programu PowerShell.
- programu PowerShell: można uruchamiać polecenia w sesji zdalnej programu PowerShell na komputerze.
- WMI: Otrzymuje się odpowiedź na zapytanie Win32_ComputerSystem dotyczące komputera.
- WinRM: Można ustanowić zdalną sesję z komputerem przy użyciu WS-Management.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | WaitForServiceTypes |
Dopuszczalne wartości: | Wmi, WinRM, PowerShell |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wymusza natychmiastowe ponowne uruchomienie komputera.
Typ: | SwitchParameter |
Aliasy: | f |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Timeout
Określa czas trwania oczekiwania w sekundach. Gdy upłynął limit czasu, Restart-Computer
powróci 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 parametr Wait nieokreślony okres oczekiwania.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | Int32 |
Aliasy: | TimeoutSec |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Wait
Restart-Computer
pomija monit programu PowerShell i blokuje potok do momentu ponownego uruchomienia komputerów. Tego parametru można użyć w skryscie, aby ponownie uruchomić komputery, a następnie kontynuować przetwarzanie po zakończeniu ponownego uruchamiania.
Parametr Wait czeka na ponowne uruchomienie komputerów na czas nieokreślony. Możesz użyć limitu czasu, aby dostosować chronometraż, oraz parametrów dla i opóźnienia, aby czekać na udostępnienie określonych usług na ponownie uruchomionych komputerach.
Parametr Wait jest nieprawidłowy podczas ponownego uruchamiania komputera lokalnego. Jeśli wartość parametru ComputerName zawiera nazwy komputerów zdalnych oraz komputera lokalnego, Restart-Computer
generuje błąd niekończący się dla Wait na komputerze lokalnym, ale oczekuje na ponowne uruchomienie komputerów zdalnych.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie w przypadku uruchomienia Restart-Computer
. Polecenie cmdlet Restart-Computer
nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WsmanAuthentication
Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika. Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Dopuszczalne wartości tego parametru to: Basic, CredSSP, Default, Digest, Kerberosi Negotiate.
Aby uzyskać więcej informacji, zobacz AuthenticationMechanism.
Ostrzeżenie
Uwierzytelnianie za pomocą dostawcy usług zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego w celu uwierzytelnienia, jest zaprojektowane dla poleceń wymagających uwierzytelniania na więcej niż jednym zasobie, na przykład przy dostępie 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.
Typ: | String |
Dopuszczalne wartości: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz przekierować ciąg zawierający 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 Win32_OperatingSystem instrumentacji zarządzania Windows (WMI). Ta metoda wymaga włączenia uprawnień SeShutdownPrivilege dla konta użytkownika używanego do ponownego uruchomienia maszyny. - W systemach Linux i macOS
Restart-Computer
używa narzędzia powłoki bash/sbin/shutdown
.