在后台通过VBS运行ps1



我正在尝试运行一个ps1脚本,当您在windowsxp上锁定或解锁会话时,该脚本会发出"嘟嘟"警报。我已经得到了它,我正试图通过VBS脚本调用该脚本。问题是,如果我手动执行VBS,就会出现powershell窗口,很明显,当我关闭它时,脚本就会停止运行。这是我的代码:

这是ps1:

$sysevent=[microsoft.win32.systemevents]

注册ObjectEvent-InputObject$sysevent-EventName SessionSwitch-Action{[console]::Beep();写入主机($args[1])。原因}

这就是VBS:

设置objShell=CreateObject("Wscript.Shell")objShell。运行("powershell.exe-noexit c:\beep.ps1")

有人知道如何防止powershell窗口和在后台运行脚本吗?

不需要ps1脚本,我使用这个一行

WScript.CreateObject ("WScript.Shell").Run "cmd /c " & chr(7),0,False

还发现了一些有用的建议http://forums.mozillazine.org/viewtopic.php?p=11616563比如可以编译的小c程序或nircmd命令。

要回答有关隐藏PS窗口的问题,可以在Run方法中添加零开关以隐藏窗口:

objShell.Run "powershell.exe -noexit c:beep.ps1" , 0, False

https://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp

最新更新