Stop-Computer

Zatrzymuje (zamyka) komputery lokalne i zdalne.

Składnia

Stop-Computer
    [-WsmanAuthentication <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie Stop-Computer cmdlet wyłącza 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 Stop-Computer dodano obsługę 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

W tym przykładzie zatrzymane są dwa komputery zdalne i komputer lokalny.

Stop-Computer -ComputerName "Server01", "Server02", "localhost"

Stop-Computer używa parametru ComputerName , aby określić dwa komputery zdalne i komputer lokalny. Każdy komputer jest wyłączony.

Przykład 3. Zamykanie komputerów zdalnych jako zadania w tle

W tym przykładzie Stop-Computer jest uruchamiane jako zadanie w tle na dwóch komputerach zdalnych.

Operator & w tle uruchamia Stop-Computer polecenie 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 , aby określić dwa komputery zdalne. & Operator w tle uruchamia polecenie jako zadanie w tle. Obiekty zadania są przechowywane w zmiennej $j .

Obiekty zadania w zmiennej $j są wysyłane w dół potoku do Receive-Jobelementu , który 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 , aby określić komputer zdalny. 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 , aby pobrać plik w bieżącym katalogu z listą komputerów domeny. Obiekty są przechowywane w zmiennej $s .

Get-Credential używa parametru Credential , aby określić poświadczenia administratora domeny. Poświadczenia są przechowywane w zmiennej $c .

Stop-Computer wyłącza komputery określone z listą parametrów ComputerName 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ścią domyślną jest 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.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value: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 protokół SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Accept pipeline input:False
Accept wildcard characters:False

-Force

Wymusza natychmiastowe zamknięcie komputera.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters: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 Domyślna.

Dopuszczalne wartości dla tego parametru to:

  • Podstawowa
  • Protokół CredSSP
  • Domyślny
  • Szyfrowane
  • Kerberos
  • Negocjować.

Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism.

Przestroga

Uwierzytelnianie dostawcy usług zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego do uwierzytelnienia, jest przeznaczone do poleceń wymagających uwierzytelniania w więcej niż jednym zasobie, na przykład uzyskiwania dostępu do udziału sieci zdalnej. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. Jeśli bezpieczeństwo komputera zdalnego zostanie naruszone, poświadczenia przekazane do niego mogą służyć do kontrolowania sesji sieciowej.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

None

Nie można przekazać potoku danych wejściowych do tego polecenia cmdlet.

Dane wyjściowe

None

Uwagi

To polecenie cmdlet używa metody Win32Shutdownklasy Win32_OperatingSystem WMI. Ta metoda wymaga włączenia uprawnień SeShutdownPrivilege dla konta użytkownika użytego do ponownego uruchomienia maszyny.

W programie PowerShell 7.1 Stop-Computer dodano obsługę systemów Linux i macOS. W przypadku tych platorms polecenie cmdlet wywołuje natywne polecenie /sbin/shutdown.