пятница, 24 октября 2008 г.

Powershell как COM Объект

Нашел в Интернете совершенно потрясающую вещь! Оказывается умные люди уже давно подумали и смастерили компонент, который предоставляет возможность представлять PowerShell, как COM объект. Называется эта штуковина ActiveX PowerShell (производства Sapien Technologies).

Собственно, сама Sapien Technologies пишет про свой компонент следующее:

A COM component that can be used from VBScript, JScript, KiXtart, or any
other COM-compatible language. Allows you to create a direct Powershell host and
use cmdlets and scripts from within your favorite scripting language. Multiple
output options make integration flexible.
Маленький примерчик (выдранный из description document) :
Set ActiveXPosh = CreateObject("SAPIEN.ActiveXPosh")
if ActiveXPosh.Eval("Get-Process Winword") = vbTrue Then
WScript.Echo "Word is running"
Else
WScript.Echo "Word is NOT running"
End If


Данный компонент поддерживает выполнение следующих команд:
  • ClearOutput() - This method clears the internal output buffer.
  • Execute(strcommand) - Executes a PowerShell command or script.
  • Eval(strExpression) - Evaluates a PowerShell expression.
  • Init(execProfile) - Initial call to instantiate a PowerShell engine.
  • IsPowerShellInstalled - Returns True/False.
  • Output - A collection of strings filled with output from PowerShell
    commands.
  • OutputString - The content of the output buffer as a single string.
  • OutputMode - Sets or gets the current output mode.
  • OutputWidth - Sets or gets the desired output width.


    Комментариев нет: