【问题标题】:Calling Powershell Cmdlets in VBScript在 VBScript 中调用 Powershell Cmdlet
【发布时间】:2012-02-22 03:00:58
【问题描述】:

是否可以在我的 VBScript 中调用 PowerShell Cmdlet?

我知道如何调用整个 Powershell 脚本,但我只想调用一些特定的 Cmdletes。 也有可能将 Cmdlet 的结果存储在 VBScript 中的某个对象中。

我对 Powershell 和 VBScript 不太了解。 可能这是一个非常有问题的问题。如果您知道我们该怎么做,请告诉我。

【问题讨论】:

    标签: powershell vbscript powershell-2.0


    【解决方案1】:

    您可以尝试 Sapien 的 ActiveXPosh(COM 组件)。它是一个特殊的 PowerShell 主机,允许开发人员/脚本编写者从 VBScript/JScript 代码运行单个 cmdlet 或整个脚本。您可以在免费组件下的下载部分找到它(需要注册,免费):

    http://www.sapien.com/blog/2008/06/25/activexposh-is-now-a-free-download/

    【讨论】:

    • 感谢 Shay 的快速回复。我想尽可能避免使用第三方工具。除了 ActiveXPosh,你还知道其他方法吗?
    • 在我看来这是你唯一的选择。
    • 这些答案的共同主题是需要某种互操作接口/临时格式。 PowerShell 是基于 .NET 对象的,而 VBScript 是.. VBScript。您是否继承了一些旧的 VBScript 代码?否则,当 PowerShell 几乎可以做任何 VBScript 可以做的事情(或者反过来,只使用 VBScript)时,为什么还要使用混合解决方案..?
    • 是的,Daniel,我有一个旧的 VBScript 代码,我需要添加一些使用 PowerShell 非常简单的新功能。如果您说调用脚本是唯一的选择,您能否建议我如何将对象从 Powershell 脚本返回到我的 VBScript?
    【解决方案2】:

    您可以让 PowerShell 将对象序列化为某种通用格式,例如 JSON 或 XML,然后将其导入您的 VBscript。这可能是 VBscript 和 PowerShell 之间互操作的最佳方式。

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 2016-10-22
      • 2013-06-08
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多