начать пакетное задание из IIS - PullRequest
0 голосов
/ 28 октября 2010

Каков правильный подход, когда пользователи (авторизованные администраторы домена) должны иметь возможность запускать пакетные задания (обычно exe-файлы) со страницы IIS (7.x) aspx (c #)? Это интранет-сайт. Пакетные задания должны запускаться на веб-сервере как администраторы домена. Пул веб-сайта выполняется сетевой службой или аналогичной ограниченной учетной записью в AD.

Подходы, которые я могу придумать (и их недостатки): 1. Запустите исполняемый файл с System.Diagnostics.Process.Start с другой учетной записью. Эта функция отключена в IIS 7.x, как мне это разрешить? 2. Создайте запланированное задание и вызовите запланированное задание-api. Эта неуправляемая dll выдает предупреждения компилятора VS, потому что небезопасно вызывать из управляемого кода. 3. Я полагаю, что есть лучший подход, потому что предыдущие предложения не кажутся безопасными или надежными.

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Я хотел бы предложить, чтобы у вас была либо запланированная задача, либо служба Windows, которая опрашивает общий репозиторий хранилища, чтобы определить, следует ли запускать пакетное задание - поскольку пакетные задания обычно используются для длительного выполнения процесса.

Вы можете сохранить данные о том, какой пакетный файл и аргументы вы хотите запустить с веб-сайта ASP.NET в базу данных (MySQL, Oracle, SQL Server и т. Д.), А затем провести опрос Windows Service / Scheduled Task.против этой базы данных на регулярной основе.

0 голосов
/ 16 ноября 2010

Я согласен с Кейном.Однако, если вы должны сделать ...

http://www.dotnetscraps.com/dotnetscraps/post/Run-a-batch-file-as-a-specific-User-(or-Administrator)-from-ASPNET.aspx

...