Как в PowerShell выключить компьютер


Командлет Stop-Computer

Командлет Stop-Computer выключает локальный или удалённый компьютер.

Вы можете запускать Stop-Computer с дополнительными опциями, чтобы указать уровни аутентификации и альтернативные учётные данные, а также для принудительного немедленного завершения работы.

Этот командлет использует метод Win32Shutdown класса Win32_OperatingSystem WMI.

Следующие две команды являются идентичными и выключают локальный компьютер:

Stop-Computer
Stop-Computer -ComputerName localhost

Следующий пример выключит компьютер с именем Win-Server-Core, имеющим пользователя Administrator с правами, достаточными для выключения компьютера:

Stop-Computer -ComputerName Win-Server-Core -Credential Administrator

Эта команда выключает удалённые компьютеры и локальный компьютер.

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

В предыдущей команде Stop-Computer использует опцию -ComputerName для указания двух удалённых компьютеров и локального компьютера. Каждый из перечисленных компьютеров будет выключен.

Следующий код выключает удалённые компьютеры в качестве фонового задания:

$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results

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

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


Выключение удалённого компьютера:

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

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

Выключение компьютера в домене:


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

В предыдущем примере Get-Content использует опцию -Path для чтобы прочитать содержимое файла Domain01.txt в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s.

Затем Get-Credential использует опцию -Credential для указания учётных данных администратора домена. Учётные данные хранятся в переменной $c.

Наконец Stop-Computer выключает компьютеры, указанные в списке компьютеров в опции -ComputerName в переменной $s. Опция -Force вызывает немедленное отключение. Опция -Credential передаёт свои учётные данные, сохранённые в переменной $c.

Ошибка «Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями»

Запуск команды

Stop-Computer -ComputerName Win-Server-Core -Credential Administrator

может завершиться ошибкой:

Stop-Computer: Failed to stop the computer Win-Server-Core with the following error message: Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями..

Её причина в том, что пользователи выполнили вход на компьютере и используют его.

Для принудительного выключения укажите опцию -Force:

Stop-Computer -ComputerName Win-Server-Core -Credential Administrator -Force

Выключение компьютера без PowerShell

Без PowerShell вы можете выключить компьютер следующей командой:

shutdown /s

Вам будет показано предупреждение и компьютер будет выключен по истечении 30 секунд.

Чтобы немедленно выключить компьютер выполните команду:

shutdown /s /t 0

Вы можете добавить в команду опцию /f, которая означает принудительное закрытие запущенных приложений без предупреждения пользователей. Подразумевается использование параметра /f, если для параметра /t задано значение больше 0.


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *