Get-Command
Get-Command - один из самых полезных командлетов во всей PowerShell, так как он поможет вам справиться с PowerShell, позволяя вам искать определенные командлеты. Использование Get-Command само по себе, по общему признанию, не очень полезно, поскольку оно просто выплевывает каждую команду, которую имеет PowerShell.
Get-Command –Name *IP*
Get-Command –Module NetTCPIP –Name *IP*
Получить помощь
Когда вы найдете командлет, который вы ищете с помощью Get-Command, вам захочется узнать синтаксис и как вы можете использовать этот конкретный командлет. Здесь появляется Get-Help, если вы когда-либо использовали командную строку в Windows, вы, вероятно, сделали что-то вроде этого:
ipconfig /?
Ну, это не работает в PowerShell, это потому, что в PowerShell пространство используется для разделения команды по ее параметрам. Поэтому вместо этого мы используем Get-Help и передаем имя командлета Get-Help в качестве параметра.
Get-Help Get-Process
Get-Member
Get-Member позволяет нам получать информацию об объектах, возвращаемых командлетами. Улов с get-членом заключается в том, что он полагается на функцию конвейера PowerShell, чтобы продемонстрировать это, мы сможем использовать командлет Get-Process.
Get-Process | Get-Member
Start-Process notepad.exe $NotepadProc = Get-Process -Name notepad $NotepadProc.WaitForExit() Start-Process calc.exe
Этот скрипт запустит блокнот, затем назначит вывод «Get-Process -Name notepad» переменной $ NotepadProc, затем мы вызываем метод WaitForExit на $ NotepadProc, который заставляет сценарий останавливаться, пока вы не закроете блокнот, как только вы закроете блокнот то калькулятор запустится.
$ _ (Текущий объект трубопровода)
Хотя это не совсем командлет, это одна из наиболее используемых специальных переменных в PowerShell. Официальное название $ _ - это «текущий объект конвейера». Он используется в скриптовых блоках, фильтрах, процедурных предложениях функций, где-object, foreach-object и switch. Однако на примере проще объяснить, что приводит нас к нашему следующему и окончательному командлету Where-Object.
Where-Object
Where-Object делает именно то, на что это похоже, он выбирает объект, исходя из того, соответствует ли он определенным критериям. Это объединит $ _ и свойства, которые мы можем увидеть с помощью Get-Member. Чтобы продемонстрировать это, мы будем выводить вывод Get-Process в командлет Where-Object.
Get-Process | Where-Object {$_.Name –eq “iexplore”}