我在.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
答案 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