我在这里做了一件棘手的事情。 我使用任务计划程序通过调用包含关机命令的简单.bat文件在周末自动重启所有计算机。当使用任务调度程序时,wshshell.popup不会显示给其他用户
我想让用户有可能通过显示一个弹出窗口说“计算机即将重新启动,是否希望继续?确定或取消”来取消重新启动。我用VB使用弹出框方法做到了这一点,它完美的工作。
这是我面临的问题:任务在系统帐户下运行,除非任务设置为与当前登录用户一起运行,否则弹出框不会出现。我可以更改任务中设置的帐户,但我有几百个用户是不可能的。
我已经做了某种解决方法,从Psexec调用VBS ... Works,但它并不完美。
这里是我的PSEXEC命令调用VB:
Psexec -accepteula -s -i cmd /c C:\Windows\System32\Weekly_Reboot.vbs
这是我VB:
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
BtnCode = WshShell.Popup("Computer is about to restart, do you wish to continue?", 30, "/!\ Weekly Restart /!\", 4 + 32)
Select Case BtnCode
case 6
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "c:\Windows\System32\Weekly_Reboot.bat"
case 7
WScript.Echo "No prob - the computer won't restart"
case -1
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "c:\Windows\System32\Weekly_Reboot.bat"
End Select
这里是实际reboot命令:
Shutdown /f /r /c "This is the weekly reboot"
任何想法都会非常棒!我真的试过用Google搜索,但没有运气。
这不是VB.NET代码。它看起来更像VB6。 –
我不知道,我只知道它开始于VB :)。我更像一个PowerShell的人,从来没有做过任何VB *。 –