【问题标题】:C# task schedule modifyC#任务计划修改
【发布时间】:2017-01-10 20:51:35
【问题描述】:

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

使用以下代码:

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

当我在主要任务计划程序文件夹中执行此操作时,我的代码运行良好。 但是当我尝试修改子文件夹中的任务时,我得到了错误

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

如果尝试使用 usernamepassword 而不是 null 如下:

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

我收到以下错误:

(48,4):UserId:

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

【问题讨论】:

  • (48,4):UserId: 是完整的错误消息吗?
  • 对不起@Quantic,错误信息中没有其他细节;只是错误代码(-1072894421)

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


【解决方案1】:

您的问题的一个解决方案是您可以使用 Task Scheduler Managed Wrapper,下载地址为https://taskscheduler.codeplex.com/

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

【讨论】:

  • 我现在正在使用它并收到同样的错误消息。
【解决方案2】:

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

【讨论】:

  • 在生产环境中我设置了用户名和密码(用户名为DOMAIN\username),用户必须是管理员。
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
相关资源
最近更新 更多