在 VBScript 和 JScript 里使用 Windows PowerShell

  • Abel Avram
  • 郭晓刚

2008 年 8 月 3 日

话题:.NET语言 & 开发

Sapien Technologies开发出了ActiveX PowerShell(ActiveXPosh)这是一个免费的脚本工具,用它可以在任何兼容 COM 的脚本语言里调用 Windows PowerShell,比如 VBScript 和 JScript。ActiveXPosh 使我们可以利用 PowerShell 的功能增强现有的脚本。

Sapien 是这样描述 ActiveXPosh 的:

可在 VBScript、JScript、KiXtart 或任何 COM 兼容的语言中使用这个 COM 组件。用它可在你喜欢的脚本语言中建立 PowerShell 宿主并使用 cmdlet 和 PowerShell 脚本。多样化的输出选项,可以让集成更灵活。

以下是 Sapien 在说明文档中提供的一个使用 ActiveXPosh 的例子:

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() - 清空内部的输出缓冲区。
  • Execute(strcommand) - 执行一条 PowerShell 命令或一段脚本。
  • Eval(strExpression) - 对一则 PowerShell 表达式求值。
  • Init(execProfile) - 初始调用,用来实例化一个 PowerShell 引擎。
  • IsPowerShellInstalled - 返回 True/False.
  • Output - 一个字符串集合,由 PowerShell 命令的输出结果填充。
  • OutputString - 以单个字符串的形式返回输出缓冲区的内容。
  • OutputMode - 设置或查看当前的输出模式。
  • OutputWidth - 设置或查看希望的输出宽度。

除了 ActiveXPosh,Sapien Technologies 还提供了其他一些免费脚本工具,采用的许可协议都是Free Tools Universal License Agreement

查看英文原文:Using Windows PowerShell from VBScript, JScript
.NET语言 & 开发