ASP.NET - запуск сценария bat на другом компьютере - PullRequest
1 голос
/ 26 января 2009

Я бы хотел запустить скрипт bat на одной из машин в домене из моего приложения asp.net. Машина с пакетным сценарием является машиной временного хранения, и сценарий синхронизирует ее с машиной постоянного хранения. Итак, каков оптимальный способ сделать это?

Я попытался использовать PsExec для запуска сценария на удаленной машине. Я создаю процесс, который делает вызов PsExec, и он на самом деле делает свою работу довольно хорошо. Однако, поскольку рабочий поток ASP.NET выполняется под учетной записью ASP.NET с ограниченными правами, я должен жестко закодировать свои учетные данные пользователя домена в вызове PsExec, и это то, что я не люблю делать.

Есть ли способ преодоления этой проблемы или, может быть, какой-то другой подход, который я мог бы попробовать?

Спасибо ...

Ответы [ 2 ]

1 голос
/ 26 января 2009

Вы можете использовать параметр в вашем Web.config, чтобы приложение запускалось под IUSR, или вы можете установить имя пользователя / пароль в теге идентификации для учетной записи, которую вы хотите использовать для запуска файла BAT.

Ранее я нашел некоторые подробности об Олицетворении по адресу: http://www.aspdev.org/articles/web.config/

Но я уверен, что быстрый поиск в интернете найдет вам еще больше информации о Impersonate.

0 голосов
/ 18 апреля 2013

Ответ выше не работает. Новые процессы будут порождаться по умолчанию под учетной записью ASP.NET.

см. http://support.microsoft.com/kb/889251.

"Для запуска процесса, который выполняется в контексте олицетворенного пользователя, нельзя использовать метод System.Diagnostics.Process.Start. Это связано с тем, что в ASP.NET олицетворение выполняется на уровне потока, а не уровень процесса. Поэтому любой процесс, который вы порождаете в ASP.NET, будет запускаться в контексте рабочего процесса ASP.NET, а не в олицетворенном контексте. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...