Немного о командлетах PowerShell

Еще с windows 7 разработчики операционки задумались о удобстве не только пользователей, но и администраторов. Начиная с этой версии ОС в консоли можно сделать почти все то же, что и в графике.

Для тех у кого есть опыт программирования на .Net по факту появился интерфейс к методам и свойствам объектов приложений и ОС.

Например можно прямо в консоли получить идентификатор экземпляра объекта открытого окна браузера Google Chrome и посмотреть какие методы у него доступны:

get-process -name chrome | get-member -type=method

Из полученного списка любой метод можно вызвать:

$obj = Get-Process notepad
$obj.Kill()

Так же сделали «аналог системы man», в винде оно называется get-help, аргументом нужно передать командлет:

get-help get-content

Причем можно смотреть помощь по разделам, вот так можно показать список командлетов для управления службами:

get-help service

Справка может обновляться через интернет командой Update-Help

Что удивительно, им удалось срастить .Net с интерпретатором настолько что:

‘Скоро новый 2025 год’.Replace(‘2025’, ‘2026’)

Из полезного на каждый день пригодятся команды для работы с службами, список системных служб можно получить с помощью:

get-service

Остановка или запуск службы:

Stop-Service -Name Spooler
Start-Service -Name Spooler

Получить экземпляр объекта запущенного процесса (например что б прибить) как не трудно догадаться можно получить так:

get-process

Командлеты для работы с процессами:

get-help  process

Прибить процесс по идентификатору:

Stop-Process -Id 22608

Прибить процесс по имени:

Stop-Process -name excel

UPD:
Вы можете вывести список доверенных корневых сертификатов на вашем компьютере со сроками их действия с помощью PowerShell:

Get-Childitem cert:\LocalMachine\root |format-list

Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:

Get-ChildItem cert:\LocalMachine\root| Where {$_.NotAfter -lt (Get-Date).AddDays(30)} |select NotAfter, Subject

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