Windows任务计划程序错误101启动失败代码2147943785

84

我正尝试在Windows计划任务中安排我的C#程序。 我正在使用Windows 7专业版。

我可以创建任务安全选项,设置运行,无论用户是否登录,赋予高权限,它将启动一个我可以访问远程路径上的exe文件。

"错误值:2147943785" 您的帮助将不胜感激。

这是错误的XML:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-TaskScheduler" Guid="{DE7B24EA-73C8-4A09-985D-          5BDADCFA9017}" /> 
  <EventID>101</EventID> 
  <Version>0</Version> 
  <Level>2</Level> 
  <Task>101</Task> 
  <Opcode>101</Opcode> 
  <Keywords>0x8000000000000001</Keywords> 
  <TimeCreated SystemTime="2013-01-10T12:44:20.882178000Z" /> 
  <EventRecordID>51522</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="652" ThreadID="1892" /> 
  <Channel>Microsoft-Windows-TaskScheduler/Operational</Channel> 
  <Computer>pcb.co.za</Computer> 
  <Security UserID="S-1-5-18" /> 
  </System>
- <EventData Name="TaskStartFailedEvent">
  <Data Name="TaskName">\Naedo</Data> 
  <Data Name="UserContext">Domanin\User31r</Data> 
  <Data Name="ResultCode">2147943785</Data> 
  </EventData>
  </Event>
6个回答

120
配置此计划任务运行的用户必须拥有在托管你要启动的exe的计算机上“作为批处理作业登录”的权利。这可在托管 exe 的计算机的本地安全策略中配置。您可以在服务器上更改策略(托管 exe),具体操作为:

管理工具->本地安全策略 ->本地策略 -> 用户权限分配 ->作为批处理作业登录

将用户添加到此列表中(还可以将用户帐户设置为托管exe的计算机上的本地管理员)。最后,你也可以将你的exe从网络位置复制到本地计算机,然后从本地计算机运行它。
同时,请注意域策略可能会限制组织内的“作为批处理作业登录”权限。

谢谢Jesse,我已经进入了批处理登录屏幕,但“添加用户或组”和“删除”按钮是不活动的,有没有办法绕过这个问题? - user1966843
2
听起来你没有作为本地管理员登录到那台电脑。只有本地管理员才能更改“批量登录”组中的用户。 - Jesse
非常感谢Jesse。由于exe文件在远程机器上,所以我将其复制到了我的本地机器上,然后它就可以工作了。非常感谢 :) - user1966843
2
这也可能是由于“启动路径”上有周围的引号引起的。移除引号!请参见此处:http://www.jorink.nl/2013/06/scheduled-task-fails-with-error-code-2147942667/ - erroric
奇怪的是,这不应该是一个问题,特别是在管理员帐户下运行时。从GPO说明中可以看出:“...仅为与旧版本的Windows兼容而提供...默认值:Administrators...”。我使用的帐户是域管理员,并且任务的兼容性设置为Server 2019,但将用户添加到GPO后它就可以运行了。 - Tyler Montney
显示剩余3条评论

21

我也遇到了同样的问题,但之前我的服务器密码已经使用了几周时间。后来发现原来是我在服务器上更改了密码。

请记得更新你的密码,如果你选择了“无论用户是否登录都运行”选项。


8
为了更好地解释,如果您想要更改任务的密码,您只需要打开属性对话框并点击确认按钮。如果您在创建任务后更改了密码,则它会提示您输入新密码。 - Vincent

5

我把这个留言给和我遇到相同问题的人,我一直收到"任务启动失败"的错误提示,因为我改了我的Windows密码,所以我必须打开任务属性并使用新密码保存。


2

我今天在Win7.x64上遇到了同样的问题,这个方法解决了它。

右键点击“计算机” > 管理 > 本地用户和组 > 组 > 管理员双击 > 你的名字应该在那里,如果不在,点击添加...


2

我已经改变了任务的执行方式,现在它可以顺利完成

Changed Method


2
今天我遇到了同样的问题。我将用户添加到以下位置:
管理工具 -> 本地安全策略 -> 本地策略 -> 用户权限分配 -> 批处理登录
但是仍然收到错误提示。我发现这篇文章,原来还有这个设置,我必须将用户从中删除(不确定它是如何进去的):
管理工具 -> 本地安全策略 -> 本地策略 -> 用户权限分配 -> 拒绝批处理登录
因此,请注意您可能需要检查用户的两种策略。

也许你没有完整地阅读@Shaun的回答?它提到了第二个需要检查的策略,这可能会阻止第一个策略(即对问题的推荐答案)生效。也许在你的特定情况下不需要修改第二个策略,但我需要,并认为值得分享。 - deadlydog
抱歉,我确实阅读了这篇帖子,但认为它已经是另一篇帖子的一部分了。然而,我无法撤回投票,除非进行编辑。 - Shaun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接