2017-02-16 1 views
0

예약 된 작업에서 실행할 때 가져온 모듈의 cmdlet이 실행되지 않는 스크립트 문제가 있습니다. 예약 된 작업에서 실행할 때 웹 관리 모듈이로드되지 않습니다.

은 내가 Stop-Website cmdlet을 사용하여 기본 테스트 스크립트를 생성하고 cmdlet의 함정에 오류를 try/ catch을 추가했다.

이 코드를 ISE 또는 Cmd 줄에서 실행할 때 예상대로 작동합니다. Website1이 중지됩니다. catch에 의해 나는이 예약 된 작업의 GUI에서 실행하면

는 WEBSITE1이 중단되지 않고 다음 오류가 잡힌 :

cmdlet은 오류가 있습니다 : 드라이브를 찾을 수 없습니다. 'IIS'라는 이름의 드라이브가 존재하지 않습니다.

내가 읽은 바로는이 cmdlet을 사용할 수 없다는 것입니다.

모듈이 설치되었음을 확인했습니다. 작업 탭에서 나는 내가 예약 된 작업에서 실행시 Stop-Website cmdlet을 작동시킬 수있는 방법에 대한 제안을 찾고 있어요

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" 
} 

을 전달하고있다.

답변

1

문제가 발견되었습니다. 작업을 시작한 사용자 계정에 적절한 사용자 권한이 없습니다. 로컬 관리자 그룹의 계정을 사용했을 때 제대로 작동했습니다.

관련 문제