1

В настоящее время я работаю над приложением ASP.NET в VB.NET, и одной из его функций является использование планировщика задач Windows. Приложению потребуется довольно полный контроль над этим, поскольку ему необходимо создавать, изменять, удалять и запускать задачи.0x80070005 (E_ACCESSDENIED) В приложении ASP.NET при попытке использовать планировщик задач Windows

Я нашел this library, чтобы помочь со всем, и он работает хорошо, но только локально на моей машине с Windows XP. Как только я развертываю приложение в IIS6 в Windows Server 2003 и получаю доступ к страницам, использующим мой объект Scheduler, я получаю следующую ошибку.

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

Я искал различные решения в сети, которые включают в себя предоставление конкретных пользователей (и даже всех) разрешений на% WINDIR% \ Задачи с использованием CACLS, которые не работают и также используя олицетворение и добавление IUSER в группу пользователей операций резервного копирования, которая не будет работать, поскольку приложение ДОЛЖНО использовать Windows Integrated Authentication.

Одна вещь, которая меня путает во всей ситуации, заключается в том, что Пользователь, с которым я вошел в систему, как при тестировании приложения, может довольно счастливо удалять рабочий стол и заходить на сервер и гадать с помощью Планировщика заданий. Кроме того, если я запускаю приложение локально в Visual Studio (все еще под одним и тем же пользователем) и указываю приложение в Планировщике задач сервера, он отлично работает. В дополнение к этому, если я запустил приложение с сервера и навел его на свой локальный планировщик заданий, я получаю ту же ошибку «Отказано в доступе». Все это заставляет меня думать, что это не мандат планировщика заданий, а что-то делать с разрешениями для некоторых компонентов, которые пытается использовать библиотека планировщика заданий.

Кто-нибудь знает, что я могу сделать, чтобы разрешить это или даже просто указатель в правильном направлении, поскольку это привело меня к сумасшествию в течение более дня. Должен сказать, что я немного новичок, когда речь идет о проблемах IIS, олицетворении и безопасности Windows Server.

Большое спасибо

+0

При попытке использовать exe \ TS вы должны передать учетную информацию. – 2010-07-30 09:07:03

ответ

1

Эй я KNO я может быть поздно, что вы можете сделать, это либо поставлена ​​задача работать под NT AUTHORITY \ SYSTEM для такого использования этого

(C#)

string NULL = null; task.SetAccountInformation ("", NULL);

и установить его для текущего пользователя предоставить имя пользователя

строковое имя = «Ваш хр имя пользователя»;
или string username = System.Security.Principal.WindowsIdentity.GetCurrent(). Name; string NULL = null;

task.SetAccountInformation (имя пользователя, NULL);

, который будет работать для вас, я надеюсь !!!! и дайте мне знать, как это было !!!

+0

Эй, эта проблема чудесным образом исчезла, когда решение было перенесено на фактический сервер, на котором он должен был сидеть. Этот проект уже давно вышел из-за двери, и я больше не работаю в этой компании, поэтому я боюсь, что не смогу проверить ваше решение !. Приветствия любым способом – tonicblue

+0

не проблема спать надеюсь, что вы не найдете таких проблем впереди !!!! ;-) –

Смежные вопросы