Vbscript 在后台通过VBS运行ps1

Vbscript 在后台通过VBS运行ps1,vbscript,background,ps1,Vbscript,Background,Ps1,我正在尝试运行一个ps1脚本,当您在windows xp上锁定或解锁会话时,它会发出“嘟嘟”警报。我已经得到了它,我正试图通过VBS脚本调用该脚本。问题是,如果我手动执行VBS,则会出现“power shell”窗口,显然,当我关闭它时,脚本会停止运行。这是我的密码: 这是ps1: $sysevent=[microsoft.win32.systemevents] Register ObjectEvent-InputObject$sysevent-EventName SessionSwitch-A

我正在尝试运行一个ps1脚本,当您在windows xp上锁定或解锁会话时,它会发出“嘟嘟”警报。我已经得到了它,我正试图通过VBS脚本调用该脚本。问题是,如果我手动执行VBS,则会出现“power shell”窗口,显然,当我关闭它时,脚本会停止运行。这是我的密码:

这是ps1:

$sysevent=[microsoft.win32.systemevents]

Register ObjectEvent-InputObject$sysevent-EventName SessionSwitch-Action{[console]::Beep();Write host($args[1]).Reason}

这是VBS:

设置objShell=CreateObject(“Wscript.Shell”)objShell.Run(“powershell.exe-noexit c:\beep.ps1”)


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

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

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

还发现了一些有用的建议,例如可以编译的小c程序或nircmd命令。

您知道有一个windows系统调用发出嘟嘟声吗?因为有。可能有助于简化您的方法。@Wug,您将如何从vbscript调用它?@peter您可以像6行com包装器一样编写它。您可以从vba进行com调用编写com对象是大多数vbscript程序员无法做到的事情,它也不是vba而是vbs,但您也可以在那里使用com对象,最后您必须在要使用该脚本的每台机器上注册该com,这使脚本难以推出