Тема: VBScript: интеграция с PowerShell с помощью компонента ActiveXPosh
Бесплатный COM-сервер от компании SAPIEN ActiveX PowerShell (ActiveXPosh) осуществляет довольно гибкую интеграцию с Powershell и позволяет использовать команд-леты и сценарии Powershell изнутри любого языка сценариев. Компонент доступен на странице http://www.primaltools.com/freetools/. При переходе по ссылке для скачивания вас попросят указать имя и e-mail, после чего на e-mail придёт собственно ссылка на скачивание. В поставку включены примеры работы документация в формате PDF, объект имеет 10 свойств и методов. Дистрибутив (инсталлятор) имеет размер менее 1 Мб.
Саму PowerShell, которая должна быть установлена, можно скачать с сайта Microsoft (инсталлятор для Windows XP имеет размер порядка 1.7 Мб).
Простейший пример выводит список запущенных процессов:
Set oPosh = CreateObject("SAPIEN.ActiveXPoSH")
oPosh.Init(vbFalse)
oPosh.OutputMode = 2 ' OUTPUT_BUFFER
oPosh.Execute("get-process")
WScript.Echo oPosh.OutputString
Проверка существования процесса:
Set oPosh = CreateObject("SAPIEN.ActiveXPoSH")
oPosh.Init(vbFalse)
If oPosh.Eval("get-process winword") = vbTrue Then
WScript.Echo "Microsoft Word запущен."
Else
WScript.Echo "Microsoft Word НЕ запущен."
End If
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.