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