2017-02-16 29 views
0

У меня возникла проблема со сценарием, когда командлет из импортированного модуля не выполняется при запуске из запланированной задачи.Модуль WebAdministration не загружается при запуске из запланированной задачи

Я создал базовый тестовый скрипт, который использует командлет Stop-Website и добавил try/catch, чтобы уловить любые ошибки из командлета.

Когда я запускаю этот код из строки ISE или Cmd, он работает так, как ожидалось; Сайт1 остановлен.

Когда я запускаю это из запланированного GUI задач, WEBSITE1 не остановят и ловится следующее сообщение об ошибке в catch:

Ошибка командлет: Не удается найти диск. Диска с именем «IIS» не существует.

Из того, что я прочитал, это просто означает, что командлет недоступен.

Я подтвердил, что модуль установлен. На вкладке Действия Я передаю

powershell -ExecutionPolicy ByPass -NoProfile -file "D:\temp\stop_site.ps1" 
Import-Module WebAdministration 
try { 
    Stop-Website -Name Website1 -ErrorAction Stop 
} catch { 
    $ErrorMessage = $_.Exception.Message 
    Write-Host "The cmdlet Error is: $ErrorMessage" 
} 

Я ищу какие-либо предложения о том, как я могу получить Stop-Website Командлет работать при запуске из запланированной задачи.

ответ

1

Я нашел проблему. Учетная запись пользователя, запускающая задачу, не имела соответствующих прав пользователя. Когда я использовал учетную запись в группе Local Admin, она работала.