我有一台旧的 (Windows 2003) 服务器正在运行。然后我有一个 Powershell 脚本,我需要使用计划任务来执行它(单独运行它可以正常工作)。在我所有的其他 (Windows 2008) 服务器上,当计划任务运行时,Powershell 窗口会显示在前台,直观地指示它正在运行。
但在我的 Windows 2003 服务器上,它似乎正在运行,但不在前台。我的脚本重新启动应用程序,当它重新启动时,我可以在任务管理器中看到它正在运行,但我不知道它在哪里。
我以管理员身份登录。任务已设置run only if logged in
。任务计划程序服务已allow service to interact with the desktop
勾选。
我还需要做什么才能使其在前台运行,更重要的是,在前台重新启动我的应用程序?
我还设置了一个基本的 test.cmd 文件,它只会在屏幕上写入一行,但它在任务计划程序中也不起作用。
更新
问题似乎是由于任务计划程序在会话 0(控制台)而不是会话 1(RDP)中运行所有内容。有没有办法强制它在正确的会话(1)中运行脚本?
答案1
Powershell 是 Windows Server 2008r2 的标准配置,而不是早期版本(包括 Windows Server 2003)的标准配置。您必须单独安装此功能才能使其在 2003 中运行。您这样做了吗?否则,它将无法工作。
答案2
它对我有用。在任务管理器中,转到“用户”选项卡并单击Session 0
,右键单击并连接。它会打开Session 0
,您可以看到此会话中前台运行的所有任务。感谢您的帮助。