2010-09-27 2 views
0

Я пытаюсь создать страницу ASP.NET/C#, которая запускает сценарий PowerShell, который будет запускать установщик .exe. Страница ASP.NET в настоящее время работает в IIS 6.0 на Windows Server 2003. Скрипт PowerShell работает правильно из командной строки PS, но при вызове с страницы ASP.NET страница просто зависает. Никаких процессов не создается, и кажется, что сервер просто висит навсегда. Я успешно получил другие сценарии PowerShell, которые запускают простые командлеты или другие скрипты для работы со страницы ASP.NET.Не удается запустить установщик .exe с страницы ASP.NET

Я проверил, что на веб-сайте есть права на сценарий и выполнение, и что страница ASP.NET может видеть скрипт на диске. Когда я запускаю сценарий в командной строке, я являюсь пользователем Admin, я проверил пользователя на странице ASP.NET и выполнил его как пользователь NT AUTHORITY \ NETWORK SERVICE. Я дал этим пользователям полные права на выполнение скрипта, но изменений не было.

Я чувствую, что проблема заключается в 1. Пользовательские разрешения, которые я все еще новичок в Windows. 2. Выполняется какое-то приглашение для выполнения сценария, на который я не отвечаю, однако при его запуске со страницы ASP.NET не отображаются никакие окна или приглашения (при запуске сценария из командной строки отображается установщик).

+0

Я видел проблемы, при которых сценарий PowerShell таким образом не загружает переменные среды должным образом, поэтому powershell может не знать, какие модули использовать. Но это было давно, так как я сделал это. Если процесс не отменяется, это может и не быть проблемой. Как ни с чем, начинайте с малого и начинайте добавлять сложность, пока она не «ломается». – clifgriffin

ответ

1

Что вы можете сделать для работы вокруг:

  • перенастроить ваш пул приложений для запуска под учетной записью домена, а не «Сетевой сервис»
  • при запуске страницы, олицетворения в личности пула приложений и запустить исполняемый файл с этой учетной записью. См. Примеры того, как это сделать here.
+0

Благодарим за быстрое, сжатое и правильное решение! Я запускал IIS в качестве локальной системы для теста, и это сработало! Windows дает большое предупреждение не делать этого, поэтому создайте нового пользователя только с вашими необходимыми разрешениями, прежде чем вы действительно дадите это пользователям! –

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