为什么Windows 2008任务计划程序不能运行我的batch file?

我是Windows 2003计划任务的王牌。 一切正常。 这似乎并不是2008年的任务计划。 我需要它运行一个调用osql.exe的batch file,然后将新创build的文件复制到networking共享。 因此,该任务需要存储密码,以便它可以访问远程资源。 所以我让它保存密码。 我也进入了本地安全策略,添加了“任务要求用户帐号已经批量login”权限的用户。 如果我做:

runas / user:mydomain \ myser cmd

然后运行batch file,它每次工作。 如果我试图从GUI运行它,它将不会运行,即使它在状态栏中显示“正在运行”。 我使用的用户帐户是域用户,仅此而已。 对于“操作”选项卡,我将程序从batch file所在的目录中启动。

有任何想法吗? 有没有其他人与此斗争?

以用户身份尝试访问服务器并运行batch file。 您可能会看到错误。

我有一个类似的问题batch file正常运行,但不与08 R2任务计划。 如果“仅在用户login时运行”,将会运行,但在“运行用户是否login”时不会运行。

原来有人试图通过盘符来访问驱动器。 我不知道这是直接编程还是08试图变得聪明,将UNCpath转换为映射驱动器。 虽然我的程序ini文件只有UNCpath。 当用户没有login时,显然驱动器号不映射。

我最终不得不使用凭据映射batch file中的驱动器(它不通过)。 然后它工作。

这可能是也可能不是你的类似问题。

确保运行任务的用户拥有对batch file和任何networking共享的权限。 然后select“运行用户是否login”并选中“常规”选项卡上的“以最高权限运行”checkbox。

开始 – pipe理工具 – 本地安全策略 – 本地策略 – 安全选项 – “networking访问:不要减less存储networking身份validation的密码和凭证” – 默认情况下禁用,请切换到启用状态。

在你的exe目录下创build一个.bat文件。 在第一行更改为您的exe文件的目录。 在第二行中,像这样调用你的exe文件:

推“%〜dp0”

YourExe.exe

在任务调度程序中不要调用你的exe文件,而是调用你的bat文件