我想每天凌晨 1:00 在 Windows 2003 Server Standard Edition 上运行 AutoIt 脚本。由于这是一个服务器,显然很少有人坐在那里通过控制台登录,所以程序需要考虑这一点。
有问题的 AutoIt 脚本启动并将按键发送到 GUI 应用程序,因此该过程需要包括为运行计划任务的用户创建某种会话。
有没有办法做到这一点?
- 当没有人登录时,我不能只使用计划任务运行 AutoIt 脚本 - 如果我这样做,它根本无法启动。
- 我认为我可能能够创建一个 RDP 会话并在该会话内以该用户身份运行计划任务,但我还没有找到一种方法来创建一个 RDP 会话而不启动 mstsc.exe——它本身就是一个 GUI应用程序,我又遇到了同样的问题。
我不确定 Microsoft 的 srvany 是否允许将 GUI 应用程序作为服务运行,但AlwaysUp可以。然后,您可以使用 Windows 计划任务或其他任何东西来确保您的脚本在所需的时间运行。
如何使用 Schtasks.exe 在 Windows Server 2003 中安排任务
而对于AutoIt——任务计划程序 UDF(用户定义函数)。
为此目的具有 AutoIt 功能。
您将在AutoItScript Wiki UDF 页面上找到更多此类有用的功能。
您可以从命令行启动远程桌面。在一台机器上使用 AutoIt 将 RemoteDesktop 插入您的目标服务器。
您还可以使用Microsoft 的AutoLogon。这将在启动后登录到服务器。然后可以将计划任务设置为登录后运行。
为确保它定期运行,您可以让机器在每天的设定时间重新启动,再次启动自动登录和登录计划任务。