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


04 сентября 2019


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

Для выключения компьютера в Powershell есть одна команда Stop-Computer. Команда выключает текущий компьютер без какого либо времени ожидания:

Stop-Computer

Можно выключить и удаленные компьютеры, но для этого может понадобиться дополнительная настройка удаленного управления в Powershell.

В большинстве команд Powershell, где есть ключ ComputerName возможно выполнение на удаленном компьютере, в большинстве случаем значений может быть несколько:

Stop-Computer -ComputerName 'AD2','AD1'

Удаленное выполнение команд занимает время и если вы хотите не дожидаться выполнения можете запустить в фоновом процессе:

$shutdown = Stop-Computer -ComputerName "AD1", "AD2" -AsJob
$shutdown | Receive-Job

Если нужно выполнить команду под другой учетной записью можно это сделать с ключом Credential:

$cred = Get-Credential
Stop-Computer -ComputerName 'DNS2','DNS1' -Credential $cred

Если вы выполняете команду не в домене, а в рабочей группе или Linux вам может понадобиться использовать другой способ аутентификации. Для этого есть ключ WsmanAuthentication со значениями:

  • Basic
  • CredSSP
  • Default
  • Digest
  • Kerberos
  • Negotiate

В одной компании у меня был скрипт, который мог выключить все сервера в случае какой-то аварийной ситуации. В основном это были случаи, когда использовались источники бесперебойного питания и их ресурс подходил к 0. Чаще такая возможность уже есть в оборудовании, но в моем случае этого не было. Я хранил имена компьютеров в текстовом файле так:

DNS1
DNS2

Затем открывал файл и выключал каждый компьютер:

$file = Get-Content -Path 'C:\Folder2\dd.txt'
$file = $file -split '`n'
$file | % {Stop-Computer}

 

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.