从powershell运行VBS并捕获输出

时间:2017-10-21 23:29:29

标签: powershell

我在.vbs中有以下vb脚本代码。我想通过powershell调用.vbs并捕获var1,var2和amp;的输出。 powershell中的var3。

public function GenerateResponseFile()

    Dim objServiceLogon 
    Dim var1
    Dim var2
    Dim var3

    var1 = ""
    var2=""
    var3=""

    set objServiceLogon = CreateObject("DSServiceLogonCOM.CoServiceLogon")
    objServiceLogon.DSGetDetails "ABCSVC", "ABCDE", var1, var2, var3

End function

1 个答案:

答案 0 :(得分:1)

将脚本重写为PowerShell要容易得多。

假设图书馆已注册:

$var1 = ''
$var2 = ''
$var3 = ''
$objServiceLogon = New-Object -ComObject "DSServiceLogonCOM.CoServiceLogon"
$objServiceLogon.DsGetDetails("ABCSVC", "ABCDE", $var1, $var2, $var3)

MS在使用COM对象时有documents

否则,如果您只想捕获文本输出,可以尝试:

$Output = Start-Process -Wait -FilePath 'C:\Windows\system32\cscript.exe' -ArgumentList 'MyScript.vbs', '//B', '//NoLogo'

或者:

Start-Process -Wait -OutVariable Output -FilePath 'C:\Windows\system32\cscript.exe' -ArgumentList 'MyScript.vbs', '//B', '//NoLogo'
$Output