使用参数调用VBS中的Powershell

时间:2014-02-19 13:47:50

标签: powershell vbscript arguments

我需要一个简单的事情。我正在使用VBS调用Powershell,我喜欢用参数(来自VBS的变量)执行它

  

昏暗输入

     

输入= InputBox(“输入要检查的用户别名”)
     设置objShell = CreateObject(“Wscript.Shell”)

     

objShell.run(“powershell.exe -noexit -file。\ ps_v2.ps1”)& Input

如您所见,它是非常简短的代码,PS_v2.ps1在PS控制台中直接使用参数执行时工作正常。我需要变量Input作为参数。

在PS控制台中,我只需输入

即可
  

。\ ps_V2.ps1输入

它有效。所以它必须在ObjShell.run中的某个地方。当我使用echo来检查变量是否正确分配时,我得到了正确的输出。

结果是PowerShell窗口只显示一秒钟并消失。我认为根本没有考虑“输入”。

所以长话短说。怎么看VBS线用参数调用PS脚本?就像PS控制台中的“。\ ps_V2.ps1输入”一样。

提前多多感谢!

编辑:19.2.2014 - 16:32 谢谢Ekkehard.Horner,工作正常

1 个答案:

答案 0 :(得分:2)

连接(&)处于错误的位置:

Set objShell = CreateObject("Wscript.Shell") objShell.run("powershell.exe -noexit -file .\ps_v2.ps1") &Input

Set objShell = CreateObject("Wscript.Shell") objShell.run("powershell.exe -noexit -file .\ps_v2.ps1 " & Input)