Страницы

воскресенье, 19 мая 2013 г.

PowerShell. Out-GridView.

Out-GridView - полезный командлет. Пересылает результаты выполнения команды в окно интерактивной таблицы. На мой взгляд его полезность заключается в функциональности этой самой таблицы и простоте использования. Для знакомства с командлетом предлагаю простенький скрипт:


' скрипт получения процессов и/или служб локального компьютера
' аргументы: p - только процессы, s - только службы, a - и процессы и службы
If WScript.Arguments.Count = 0 Then
 MsgBox "Не достаточно аргументов"
 WScript.Quit
End If
Dim str, s, p, a
str = "Powershell -version 3 -nologo -noexit -command "
p = """& { Get-Process | Out-GridView -title ""Processes""}"""
s = """& { Get-Service | Out-GridView -title ""Services""}"""
a = """& { Get-Process | Out-GridView -title ""Processes""; Get-Service | Out-GridView -title ""Services"" }"""
Select Case WScript.Arguments(0)
 Case "p"
  str = str & p
 Case "s"
  str = str & s
 Case "a"
  str = str & a
 Case Else
  MsgBox "Аргумент скрипта '" & WScript.Arguments(0) & "' не найден" 
  WScript.Quit
End Select
CreateObject("WScript.Shell").Run(str)

Для теста копируем код в блокнот и сохраняем файл с расширением vbs.
В результате выполнения скрипта с параметром "а" получаем две таблицы:



Функциональность интерфейса таблиц очевидна.

p.s.: На самом деле из оболочки PowerShell все эти движения выглядят гораздо проще: