Powershell 1.0 – основы для администраторов. Часть 2

 

Псевдонимы (aliases)

Для сокращения ввода и просто для удобства работы при вызове можно применять псевдонимы. Есть встроенные псевдонимы, например ps вместо get-process или gci вместо get-childitem. Полный список псевдонимов можно увидеть через get-alias.

Можно создавать свои псевдонимы. Это делается командами Set-Alias или New-Alias, но они будут доступны только в текущей сессии работы WPS.  Псевдоним можно создать для любой внешней программы, например для Блокнота это выглядит так:

Set-Alias npd notepad.exe

WPS может вычислять выражения. Наберите в строке 2+5 и посмотрите результат).

Посмотреть все команды можно с помощью Get-command. Например, вывод всех команд, начинающихся с get:

Get-command get-*

Справка выводится по команде Get-help. Например, помощь по get-process:

Get-help get-process или get-process -?

Полная справка по команде дается с ключом full

Get-help get-process –full

 

Конвейеры

WPS поддерживает объектно-ориентрованные конвейеры, которые позволяют передавать результат работы одной команды в другую. Для создания конвейера используется вертикальная черта |. В конвейер передается типизированный .Net объект.

Например, вывод только имени и размера doc файлов размером больше 20Кб, отсортированных по размеру, можно выполнить такой командой:

Get-ChildItem c:\mydata –r -filter *.doc

| Where-Object { $_.Length -gt 20000 }

| Select-Object Name, Length

| Sort-Object Length

| Format-List

Остановить процесс можно так, на примере iexplore:

Get-Process iexplore | Stop-Process

Форматирование вывода осуществляется с помощью следующих команд:

  • Format-Wide вывод в две колонки
  • Format-List детальный список
  • Format-Table таблица

Например, выполните следующие команды и сравните вывод:

Get-process | Format-Wide

Get-process | Format-List

Get-process | Format-Table

Вывод отдельных полей в таблице можно задать так:

Get-Process | Format-Table -p id,processname,handles

Подавление вывода:

Get-Process | Out-Null

Вывод на принтер

Get-Process | Out-Printer

Вывод на конкретный принтер

Get-Process | Out-Printer "Printer 1"

Вывод в файл

Get-Process | Out-file "c:\a\1.txt"

Вывод в файл отформатированной таблицы

Get-Process | Format-Table id, processname, cpu, ws | Out-file "c:\a\1.txt"

Фильтр where для задания условий

Get-Process | Where-Object {$_.ws -gt 1000000 }

В следующей части я расскажу о модели навигации в WPS.