是否可以使用VBScript运行Powershell代码(而不是.ps1文件)? 例如,要在VBScript下调用Powershell函数(此脚本必须集成在VBScript代码中)。 如何使用VBScript执行外部.ps1脚本我知道,但我没有找到有关集成的任何信息。 有任何想法吗? 感谢
答案 0 :(得分:2)
正如Filburt已经指出的那样,VBScript无法执行Powershell。但是,您可以执行的操作是启动Powershell并将脚本作为参数传递。像这样,
option explicit
Const WshRunning = 0
Const WshFinished = 1
Const WshFailed = 2
Dim objShell, oExec, strOutput, strPS1Cmd
' Store the ps1 code in a variable
strPS1Cmd = "& { get-date }"
' Create a shell and execute powershell, pass the script
Set objShell = wscript.createobject("wscript.shell")
Set oExec = objShell.Exec("powershell -command """ & strPS1Cmd & """ ")
Do While oExec.Status = WshRunning
WScript.Sleep 100
Loop
Select Case oExec.Status
Case WshFinished
strOutput = oExec.StdOut.ReadAll()
Case WshFailed
strOutput = oExec.StdErr.ReadAll()
End Select
WScript.Echo(strOutput)
如果参数复杂,请考虑使用接受Base64编码命令的-EncodedCommand
。方便解决报价逃逸等问题。