Поиск по сайту:

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
$results

Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров. Фоновый оператор & запускает команду как фоновое задание. Объекты задания хранятся в переменной $j.

Объекты заданий в переменной $j передаются по конвейеру в Receive-Job, который получает результаты задания. Объекты хранятся в переменной $results. Переменная $results отображает информацию о задании в консоли PowerShell.

Пример 4. Выключение удаленного компьютера

В этом примере выключается удаленный компьютер с использованием указанной аутентификации.

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-Computer использует параметр ComputerName для указания удаленного компьютера. Параметр WsmanAuthentication указывает на использование Kerberos для установки удаленного подключения.

Пример 5. Выключение компьютеров в домене

В этом примере команды вызывают немедленное завершение работы всех компьютеров в указанном домене.

$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c

Get-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.