Mas*_*one 16 batch-file scheduled-tasks windows-server-2008-r2
操作系统:Windows Server 2008 R2 Enterprise
我在注销时无法让Task Scheduler运行.bat文件.我有一个我想要使用的生产.bat文件,但为了我的故障排除目的,我使用C:\ Users\Administrator\Desktop\test.bat
test.bat非常简单.它包含的全部是:taskkill/im notepad.exe
它自己成功运行.如果我打开记事本并双击test.bat,则cmd窗口会闪烁并且记事本会死亡..bat文件不是问题.
我在Task Scheduler中创建的任务是"Test taskkill"(没有引号).我可以在Windows资源管理器中看到它的位置:C:\ Windows\System32\Tasks\Test taskkill
如果任务设置为仅在用户登录时运行,则任务有效.使用此设置,我可以右键单击它>运行,我得到的行为就像双击.bat文件一样.这意味着任务配置正确.
如果我将其设置为运行,无论用户是否登录,那么当我右键单击>运行时,没有任何明显的事情发生.报告该作业已在历史记录中成功运行,但记事本仍然存在.我知道我正在使用正在配置的帐户的正确凭据来运行任务.该帐户是本地管理员.
此问题与过去其他问题类似:
第二个链接中的线程似乎为许多人解决了相同的问题,建议用于运行任务的帐户需要对.bat文件和.bat文件修改的所有文件的显式权限.这是非常有希望的(如果一个恼人的要求).但是,我已经确认或为本地管理员分配了以下区域的显式权限,但我仍然没有成功:
此外,我已确认本地管理员帐户位于本地管理员组中.
我错过了一些需要设置的其他权限吗?还有什么我应该看的吗?谢谢!
Mas*_*one 24
我在一家为我的机构做其他工作的承包商的帮助下解决了这个问题.
在任务的属性窗口中,在"操作"选项卡上,在创建或编辑打开批处理文件的操作时(在我的情况下为test.bat),有"Program/script:"字段,并且还有一个"开始"在(可选):"字段.我之前有"Program/script:"字段,其中包含文件的完整路径,以文件名结尾,我有"Start in(optional):"字段为null.在任务的属性窗口的"常规"选项卡中将任务设置为"仅在用户登录时运行"时,此配置似乎没有问题.但是,当任务设置为"运行用户是否登录时"时,此配置不起作用.
为了解决问题,我更改了操作,以便"Program/script:"字段仅包含文件名,而不包含文件路径.我将文件路径放在"开始(可选):"字段中.当任务设置为"仅在用户登录时运行"时,此配置有效!我已经测试了在触发器上运行的任务以及手动运行它.