我正在尝试安排我的C#程序在Windows调度程序上运行。我正在使用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>
答案 0 :(得分:95)
配置为运行此计划任务的用户必须在承载您要启动的exe的计算机上具有“作为批处理作业登录”权限。这可以在承载exe的计算机的本地安全策略上配置。您可以在
下更改策略(在托管exe的服务器上)管理工具 - &gt;本地安全政策 - &gt;本地政策 - &gt; 用户权利分配 - &gt;以批处理作业登录
将您的用户添加到此列表中(您还可以在托管exe的计算机上将该用户帐户设为本地管理员。)
最后,您还可以将exe从网络位置复制到本地计算机,然后从那里运行。
另请注意,域策略可能会限制组织中的“作为批处理作业登录”权限。
答案 1 :(得分:6)
有同样的问题,但我的工作已经持续了好几周。意识到我在服务器上更改了密码。
如果您选择了“运行用户是否已登录”,请记住更新密码
答案 2 :(得分:1)
今天有同样的问题。我已将用户添加到:
管理工具->本地安全策略->本地策略->用户权限分配->以批处理作业身份登录
但是仍然出现错误。我找到了this post,事实证明,还有一个设置我必须从中删除用户(不确定如何进入):
管理工具->本地安全策略->本地策略->用户权限分配->拒绝作为批处理作业登录
因此请注意,您可能需要检查用户的两个策略。
答案 3 :(得分:0)
我今天在Win7.x64上也有同样的解决方案。
右键单击MyComputer&gt;管理&gt;本地用户和群组&gt;群组&gt;管理员双击&gt;你的名字应该在那里,如果没有按添加...
答案 4 :(得分:0)
只需为与我有相同问题的任何人添加此功能,我就会收到“任务启动失败”错误,因为我更改了 Windows 密码,因此我必须打开任务属性并使用新密码保存。
答案 5 :(得分:0)