使用任务计划程序时,wshshell.popup不会显示给其他用户

时间:2016-12-05 13:45:28

标签: vb.net popup scheduled-tasks

我在这里做了一件棘手的事。 我通过调用包含shutdown命令的简单.bat文件,使用任务调度程序在周末自动重启所有计算机。

我想通过向用户显示一个弹出窗口"计算机即将重启,让用户可以取消重新启动,是否要继续?好的或取消"。我使用popupbox方法用VB完成了它,它运行得很好。

以下是我遇到的问题:任务在系统帐户下运行,除非将任务设置为与当前登录用户一起运行,否则弹出框不会出现。我可以更改任务中设置的帐户,但我已经有数百名用户不可能。

我做过某种解决方法,从Psexec调用VBS ...... Works,但它并不完美。

这是我调用VB的Psexec命令:

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

以下是实际的重启命令:

Shutdown /f /r /c "This is the weekly reboot"

任何想法都会真棒!我真的试过谷歌搜索它,但没有运气。

1 个答案:

答案 0 :(得分:0)

  

以下是我遇到的问题:任务在系统帐户下运行,除非将任务设置为与当前登录用户一起运行,否则弹出框不会出现。我可以更改任务中设置的帐户,但我已经有数百名用户不可能。

将任务更改为在名为Users的组下运行。它将使任务登录用户运行任务。

我不确定是否需要这样做:但您可能希望使用最高权限运行它。