Проблема с отказом в доступе к планировщику задач C #

Я создаю планировщик задач из кода C # с использованием библиотеки Microsoft.Win32.TaskScheduler.

Вот мой код:

TaskDefinition taskDefinition = taskService.NewTask();

Principal.UserId = "NT AUTHORITY\\SYSTEM";
Principal.LogonType = TaskLogonType.ServiceAccount;

RegistrationInfo.Description = erpTaskSchedulerModel.SchedulerName;

taskDefinition.Triggers.Add(SetTrigger(erpTaskSchedulerModel));

taskDefinition.Settings.DeleteExpiredTaskAfter = new TimeSpan(0, 1, 0);

taskDefinition.Actions.Add(new ExecAction(erpTaskSchedulerModel.ExePath, erpTaskSchedulerModel.ExeParameters, null));

taskService.RootFolder.RegisterTaskDefinition(erpTaskSchedulerModel.SchedulerName, taskDefinition);

Я получаю следующую ошибку из последней строки кода:

Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))

Из-за этого моя задача не расписывается. Эта проблема возникает на сайте, размещенном в IIS. Как я могу убрать эту проблему?

Сообщите мне, если требуются более подробные сведения.


person s123    schedule 31.03.2017    source источник
comment
код, вероятно, работает как пользователь с ограничениями. Вам нужны права администратора, чтобы добавлять запланированные задачи в качестве конкретного пользователя.   -  person Keith Nicholas    schedule 31.03.2017
comment
Вы не удостоверились, что у вас есть необходимые права для создания задачи. Учитывая ваше заявление о том, что это происходит на сайте, размещенном в IIS, отмеченный дубликат кажется наиболее подходящим, хотя на вопросы, связанные с E_ACCESSDENIED, недостатка в ответах нет.   -  person Peter Duniho    schedule 31.03.2017
comment
Я ответил на вопрос, заданный Джеем С. В ответе Джея С. сказано: проблема может быть решена, хотя и не полностью. @Peter Duniho - это единственный правильный способ добиться этого?   -  person s123    schedule 31.03.2017
comment
Вы должны сделать что-то, чтобы получить необходимые привилегии. В другом ответе я считаю, что это не полностью относится к тому факту, что они хотели иметь возможность использовать группу операторов резервного копирования, но у этой группы не было достаточных привилегий при попытке повысить уровень до учетной записи LOCAL SYSTEM, но это не обязательно применим в вашем случае. Вам просто нужно повысить / выдать себя за учетную запись администратора.   -  person Peter Duniho    schedule 31.03.2017