Stop-Computer (Microsoft.PowerShell.Management)
Stop-Computer
- Модуль:
- Microsoft.PowerShell.Management
Останавливает (выключает) локальные и удаленные компьютеры.
Синтаксис
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Описание
Командлет Stop-Computer выключает локальный и удаленные компьютеры.
Вы можете использовать параметры Stop-Computer, чтобы указать уровни аутентификации и альтернативные учетные данные, а также принудительно завершить работу.
В PowerShell 7.1 был добавлен Stop-Computer для Linux и macOS. Параметры не влияют на эти платформы. Командлет просто вызывает собственную команду /sbin/shutdown.
Примеры
Пример 1. Выключите локальный компьютер.
В этом примере происходит выключение локального компьютера.
Stop-Computer -ComputerName localhostПример 2. Выключите два удаленных компьютера и локальный компьютер.
В этом примере останавливаются два удаленных компьютера и локальный компьютер.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров и локального компьютера. Каждый компьютер выключен.
Пример 3. Выключение удаленных компьютеров в фоновом режиме.
В этом примере Stop-Computer выполняется в фоновом режиме на двух удаленных компьютерах.
Фоновый оператор & запускает команду Stop-Computer в фоновом режиме. Дополнительные сведения см. в разделе about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$resultsStop-Computer использует параметр ComputerName для указания двух удаленных компьютеров. Фоновый оператор & запускает команду как фоновое задание. Объекты задания хранятся в переменной $j.
Объекты заданий в переменной $j передаются по конвейеру в Receive-Job, который получает результаты задания. Объекты хранятся в переменной $results. Переменная $results отображает информацию о задании в консоли PowerShell.
Пример 4. Выключение удаленного компьютера
В этом примере выключается удаленный компьютер с использованием указанной аутентификации.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication KerberosStop-Computer использует параметр ComputerName для указания удаленного компьютера. Параметр WsmanAuthentication указывает на использование Kerberos для установки удаленного подключения.
Пример 5. Выключение компьютеров в домене
В этом примере команды вызывают немедленное завершение работы всех компьютеров в указанном домене.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $cGet-Content использует параметр Path для получения файла в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s.
Get-Credential использует параметр Credential для указания учетных данных администратора домена. Учетные данные хранятся в переменной $c.
Stop-Computer выключает компьютеры, указанные в списке компьютеров параметра ComputerName в переменной $s. Параметр Force вызывает немедленное завершение работы. Параметр Credential передает учетные данные, сохраненные в переменной $c.
Параметры
-ComputerName
Указывает компьютеры, которые необходимо остановить. По умолчанию используется локальный компьютер.
Введите имя NETBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров в списке, разделенном запятыми. Чтобы указать локальный компьютер, введите имя компьютера или localhost.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Вы можете использовать параметр ComputerName, даже если ваш компьютер не настроен для выполнения удаленных команд.
- Тип :
String[]
- Псевдонимы:
CN, __SERVER, Server, IPAddress
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Confirm
Запрашивает подтверждение перед запуском командлета.
- Тип :
SwitchParameter
- Псевдонимы:
cf
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Credential
Указывает учетную запись пользователя, имеющую разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный с помощью Get-Credential командлет. Если вы введете имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Примечание
Дополнительную информацию о защите данных SecureString см. в разделе Насколько безопасен SecureString?
- Тип :
PSCredential
- Позиция:
1
- Значение по умолчанию:
Текущий пользователь
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Force
Принудительно завершает работу компьютера.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-WhatIf
Показывает, что произойдет, если командлет запустится. Командлет не запускается.
- Тип :
SwitchParameter
- Псевдонимы:
wi
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя, когда этот командлет использует протокол WSMan. Значение по умолчанию — По умолчанию.
Допустимые значения этого параметра:
- Базовый
- КредССП
- По умолчанию
- Дайджест
- Керберос
- Вести переговоры.
Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationMechanism.
Осторожность
Проверка подлинности поставщика службы безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на более чем одном ресурсе, например для доступа к удаленному сетевому ресурсу. Этот механизм увеличивает риск безопасности удаленной операции. Если удаленный компьютер взломан, переданные ему учетные данные можно использовать для управления сетевым сеансом.
Этот параметр был введен в PowerShell 3.0.
- Тип :
String
- Принятые значения:
По умолчанию, базовый, согласование, CredSSP, дайджест, Kerberos
- Позиция:
Именованный
- Значение по умолчанию:
По умолчанию
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
Нет
Вы не можете передавать объекты в этот командлет.
Выходы
Нет
Этот командлет не возвращает никаких результатов.
Примечания
Этот командлет использует метод Win32Shutdown класса Win32_OperatingSystem WMI. Для этого метода требуется, чтобы привилегия SeShutdownPrivilege была включена для учетной записи пользователя, используемой для выключения компьютера.
В PowerShell 7.1 был добавлен Stop-Computer для Linux и macOS. Для этих платформ командлет вызывает собственную команду /sbin/shutdown.