2017-10-18 1437 views

回答

0

因为powershell.exe是一个控制台程序,所以如果不显示其控制台窗口,您将无法正常执行它(尽管您可以在使用-WindowStyle Hidden后立即隐藏它,如您所注意的那样)。

诀窍是执行powershell.exe本身处于隐藏状态。一种方法是使用WshShell对象的Run方法在WSH脚本中隐藏运行PowerShell命令行,并使用wscript.exe(这不是控制台程序,因此不出现控制台窗口)执行WSH脚本。示例脚本(JScript中):

var wshShell = new ActiveXObject("WScript.Shell"); 
wshShell.Run('%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy Bypass -File "C:\\Scripts\\My Script.ps1"', 0, false); 

如果此脚本C:\Scripts\My Launcher.js,你就可以执行以下命令行:

wscript "C:\Scripts\My Launcher.js" 

这将运行启动脚本没有一个控制台,然后运行PowerShell命令在一个隐藏的窗口中(Run方法的第二个参数是0)。

+0

感谢您的解释@Bill_Stewart –

相关问题