使用C#编程的计划Windows任务

问题描述:

我试图使用此软件包:http://taskscheduler.codeplex.com/在登录时每5分钟运行一次sheduled任务。不幸的是,当我对其他包装做同样的事情时,它给了我一个访问被拒绝的错误信息?这里有帮助吗?使用C#编程的计划Windows任务

错误消息:

System.UnauthorizedAccessException: 'Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))' 

代码:

using (TaskService ts = new TaskService()) 
{ 
    TaskDefinition td = TaskService.Instance.NewTask(); 

    td.RegistrationInfo.Description = "Handles background work for the XRML application."; 

    Trigger wt = Trigger.CreateTrigger(TaskTriggerType.Logon); 

    wt.Repetition.Duration = TimeSpan.FromDays(2000); // last forever 
    wt.Repetition.Interval = TimeSpan.FromMinutes(5); // every 5 minutes 
    td.Triggers.Add(wt); 

    td.Actions.Add(@"C:\Users\User\Desktop\hello2.txt", "c:\\test.log"); 

    TaskService.Instance.RootFolder.RegisterTaskDefinition("XRML Helper", td); // just to test 
} 
+0

帖子的用户的文件夹* full * exceptino消息,包括其调用堆栈。很可能,应用程序池的帐户(默认情况下是受限帐户)无权访问或修改任务计划程序服务 –

确保IIS已经足够多的权利,你想要写或冒充确实有访问

+0

在OP代码中没有文件访问权限。应用程序池帐户无权访问任务计划程序的可能性更大 –

+0

可能是这种情况,那么请使用模拟。 – Danny