Stop-Computer
Zatrzymuje (zamyka) komputery lokalne i zdalne.
Składnia
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie cmdlet Stop-Computer
zamyka komputer lokalny i komputery zdalne.
Możesz użyć parametrów Stop-Computer
, aby określić poziomy uwierzytelniania i alternatywne poświadczenia oraz wymusić natychmiastowe zamknięcie.
W programie PowerShell 7.1 dodano Stop-Computer
dla systemów Linux i macOS. Parametry nie mają wpływu na te platformy. Polecenie cmdlet po prostu wywołuje natywne polecenie /sbin/shutdown
.
Przykłady
Przykład 1: zamykanie komputera lokalnego
W tym przykładzie komputer lokalny jest zamykany.
Stop-Computer -ComputerName localhost
Przykład 2: Zamykanie dwóch komputerów zdalnych i komputera lokalnego
Ten przykład zatrzymuje dwa komputery zdalne i komputer lokalny.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
używa parametru ComputerName do określenia dwóch komputerów zdalnych i komputera lokalnego. Każdy komputer jest zamykany.
Przykład 3. Zamykanie komputerów zdalnych jako zadania w tle
W tym przykładzie Stop-Computer
działa jako zadanie w tle na dwóch komputerach zdalnych.
Operator w tle &
uruchamia polecenie Stop-Computer
jako zadanie w tle. Aby uzyskać więcej informacji, zobacz about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer
używa parametru ComputerName do określenia dwóch komputerów zdalnych. Operator &
w tle uruchamia polecenie jako zadanie w tle. Obiekty zadań są przechowywane w zmiennej $j
.
Obiekty zadań w zmiennej $j
są wysyłane w dół potoku do Receive-Job
, co pobiera wyniki zadania. Obiekty są przechowywane w zmiennej $results
. Zmienna $results
wyświetla informacje o zadaniu w konsoli programu PowerShell.
Przykład 4. Zamykanie komputera zdalnego
W tym przykładzie komputer zdalny jest zamykany przy użyciu określonego uwierzytelniania.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer
używa parametru ComputerName do określenia komputera zdalnego. Parametr WsmanAuthentication określa użycie protokołu Kerberos do nawiązania połączenia zdalnego.
Przykład 5. Zamykanie komputerów w domenie
W tym przykładzie polecenia wymuszają natychmiastowe zamknięcie wszystkich komputerów w określonej domenie.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content
używa parametru Path w celu pobrania pliku w bieżącym katalogu z listą komputerów domeny. Obiekty są przechowywane w zmiennej $s
.
Get-Credential
używa parametru credential w celu określenia poświadczeń administratora domeny. Poświadczenia są przechowywane w zmiennej $c
.
Stop-Computer
wyłącza komputery określone za pomocą ComputerName listy komputerów w zmiennej $s
. Parametr Force wymusza natychmiastowe zamknięcie. Parametr Credential przesyła poświadczenia zapisane w zmiennej $c
.
Parametry
-ComputerName
Określa komputery do zatrzymania. Wartość domyślna to komputer lokalny.
Wpisz nazwę NETBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny co najmniej jednego komputera na liście rozdzielanej przecinkami. Aby określić komputer lokalny, wpisz nazwę komputera lub hosta lokalnego.
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.
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
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
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.
Nuta
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 |
-Force
Wymusza natychmiastowe zamknięcie komputera.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet 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, gdy to polecenie cmdlet używa protokołu WSMan. Wartość domyślna to Wartość domyślna.
Dopuszczalne wartości tego parametru to:
- Podstawowy
- CredSSP
- Domyślny
- Trawić
- Kerberos
- Negocjować.
Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism.
Ostrożność
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.
Ten parametr został wprowadzony w programie PowerShell 3.0.
Typ: | String |
Dopuszczalne wartości: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Domyślna wartość: | Default |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
To polecenie cmdlet używa polecenia cmdlet
Win32Shutdown
metodę klasy Win32_OperatingSystem
WMI. Ta metoda wymaga włączenia uprawnień SeShutdownPrivilege
dla konta użytkownika używanego do zamykania maszyny.
W programie PowerShell 7.1 dodano Stop-Computer
dla systemów Linux i macOS. W przypadku tych platform polecenie cmdlet wywołuje natywne polecenie /sbin/shutdown
.