我正在使用以下Sub将参数传递给Powershell。
Sub testpower()
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run ("Powershell.exe -file .\test.ps1 -path ""Shell.txt"" ")
End Sub
但是,在VB中运行时不会生成输出,但如果尝试直接从运行命令运行,则会得到所需的结果。请帮助。
test.ps1脚本:
Param([String]$path)
Get-AuthenticodeSignature $path | Out-File "C:\Documents and Settings\acmeuser1\output.txt"
答案 0 :(得分:0)
这个问题基本上在VBscript code to capture stdout, without showing console window中得到了回答 - 有几种技术被认为是有效的。总而言之,使用WShell.Exec
代替WShell.Run
,然后通过WShell.StdOut.ReadLine()
或WShell.StdOut.ReadAll()
捕获输出。