C#任务计划修改

时间:2016-09-02 16:59:29

标签: c# windows scheduled-tasks job-scheduling taskscheduler

我正在尝试使用C#应用程序修改在Windows任务计划程序中手动创建的计划任务

enter image description here

使用以下代码:

rootFolder.RegisterTaskDefinition(taskEdit.Name, 
            taskDefinition, 6, null, null, _TASK_LOGON_TYPE.TASK_LOGON_NONE, null);

当我在主任务调度程序文件夹中执行此操作时,我的代码工作正常。  但是当我尝试修改子文件夹中的任务时,我收到了错误

  

访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))

如果尝试使用用户名密码而不是 null ,如下所示:

rootFolder.RegisterTaskDefinition(taskEdit.Name, taskDefinition, 6, "username", "pwd", 
                           _TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD, null);

我收到了以下错误:

(48,4):UserId:

有什么想法吗?真的很感谢!

2 个答案:

答案 0 :(得分:1)

您的问题的一个解决方案是您可以使用任务计划程序托管包装程序,在https://taskscheduler.codeplex.com/下载。

这是一个非常强大的包装器,可以与Windows任务计划程序一起使用,并且可以处理问题"访问被拒绝"还

答案 1 :(得分:0)

最后我得到了解决方案,至少在开发时间......我必须以管理员身份运行Visual Studio。通过这种方式,我可以修改任何文件夹中的任务。