Windows: работа с PowerShell

Как управлять службами в Powershell

Для управления службами в Powershell есть восемь команд с помощью которых мы можем контролировать весь процесс работы сервисов и создавать новые. Что бы увидеть весь список команд созданных в PS для работы с сервисами нужно выполнить:

Get-Command -Noun Service

Получим следующие командлеты:

  • Get-Service - получение списка служб в Powershell.
  • New-Service - создание нового сервиса.
  • Restart-Service - перезапуск службы.
  • Resume-Service - восстанавливает работу остановленного сервиса.
  • Set-Service - изменение настроек.
  • Start-Service - запуск службы в Powershell.
  • Stop-Service - остановка.
  • Suspend-Service - приостановка работы (пауза).

gsv - алиас или короткое имя Get-Service

Свойства и методы объекта в Get-Service

Get-Service | Get-Member -MemberType Properties

Список ключей

Get-Service | SELECT *

Вывод по свойствам

Get-Service | Ft Name, Status, StartType

В именах служб можно сипользовать маску *

Get-Service -DisplayName "Win*" | Ft Name, DisplayName, Status, StartType

Маски поддерживают ключи:

  • Include - включают упоминание или точноме соответствие.
  • Exclude - исключает упоминание.
Get-Service -Name "Win*" -Include "*RM" -Exclude "*mgmt","*Http*","*Defend" | Ft Name, Status

Вывод по статусам служб:

  • Running - запущена
  • Stopped - остановлена
  • Paused - приостановлена (пауза)
Get-Service | where -Property Status -eq Stopped

Вывод по типам запуска служб:

  • Automatic - автоматический запуск вместе с системой.
  • AutomaticDelayedStart - запуск после загрузки системы.
  • Manual - ручной запуск.
  • Disabled - отключенный.
Get-Service | where -FilterScript {$_.Status -ne 'Running' -and $_.StartType -eq 'Automatic'} | ft 'Name','StartType','Status'

Вывод по зависимостям служб:

  • DependentServices - кто зависит от этого сервиса.
  • RequiredServices - от кого зависит этот сервис.
Get-Service 'Win*' -RequiredServices -DependentServices

Вывод по дополнительным свойствам служб:

  • CanPauseAndContinue - можно ли приостановить работу сервиса и возобновить.
  • CanShutdown - может ли быть выключен.
  • CanStop - может ли быть полностью остановлен.
Get-Service -ServiceName 'Winrm' | SELECT CanPauseAndContinue,CanShutdown,CanStop | fl

Для доступа к службам на удаленном компьютере используется параметр ComuterName :

gsv -ComputerName 'AD1','AD2' | where Status -eq 'Stopped' | Select MachineName,Name,Status,StartType
Читать по теме
Интересные статьи