Powershell через ASP.Net - «Оператор« = »не выполнен: доступ запрещен». - PullRequest
0 голосов
/ 08 июля 2011

Я пытаюсь запустить скрипты Powershell через веб-интерфейс, написанный на C # / ASP.Net. Я оставляю свои скрипты .ps1 нетронутыми и вызываю их через Process.Start (Powershell) ;.

Ошибка, которую я получаю каждый раз: «Оператор« = »не выполнен: доступ запрещен». Неудачная часть сценария powershell находится на «$ LC = Get-Credential» - назначение работает везде. Примечание. Это происходит только при запуске через опубликованный .aspx на веб-сервере IIS7. Он работает правильно при отладке в Visual Studio 2010.

Спасибо!

Ответы [ 2 ]

1 голос
/ 08 июля 2011

Get-Credential создает всплывающее окно, которое не будет работать из пула приложений.

0 голосов
/ 12 июля 2011

На самом деле «Доступ запрещен» - это пользователь IIS, пытающийся запустить процесс. Да, вы не сможете получить Get-Credential (потому что хост не будет запрашивать учетные данные), но, даже если вы жестко закодируете учетные данные, вы не сможете запустить процесс.

В большинстве отдаленных контекстов эта привилегия отключена.

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

Я пытаюсь запускать скрипты Powershell через закодированный веб-интерфейс. в C # / ASP.Net. Я оставляю свои скрипты .ps1 без изменений и вызываю их через Process.Start (Powershell);.

Хотя это может показаться простым, но это определенно трудный путь (потому что он подталкивает вас к этой неясной части ОС - привилегии удаленного выполнения)

Если вы используете PowerShell в ASP.NET, вы должны напрямую использовать [PowerShell] API ( См. MSDN ) встроить PowerShell в .NET. Если вы хотите, чтобы олицетворение работало, вам также нужно будет следовать инструкциям в этом ответе , чтобы настроить пространство выполнения.

Надеюсь, это поможет

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