如何为非管理员用户安排任务?

时间:2019-06-07 15:55:45

标签: c# taskscheduler windowstaskschedule

我们当前正在使用TaskService安排任务。我们使用默认文件夹:

TaskScheduler scheduler = new TaskScheduler();
scheduler.Connect();
ITaskFolder rootFolder = scheduler.GetFolder("");

原来是:

C:\Windows\System32\Tasks

这对管理员用户非常有用,但是现在我正尝试为非管理员用户安排任务。现在,上面的代码引发了UnauthorizedAccessException

我尝试指定用户特定的文件路径:

"\\Users\\some_user"  // FileNotFoundException:  The system cannot find the file specified
"C:\\Users\\some_user"  // FileNotFoundException:  The filename, directory name, or volume label syntax is incorrect

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定scheduler.GetFolder("")是如何抛出UnauthorizedAccessException的,现在看来工作正常。

我最终要做的事情是这样的:

    TaskScheduler scheduler = new TaskScheduler();
    scheduler.Connect();
    ITaskFolder rootFolder = scheduler.GetFolder(string.Empty);
    ITaskFolder userSpecificFolder = rootFolder.CreateFolder(scheduler.ConnectedUser);  // Will throw if folder already exists
    // Now can add tasks to userSpecificFolder
相关问题