2016-06-29 5 views
4

PowerShell을 사용하여 빌드를 스크립팅하는 프로젝트가 진행됩니다. 빌드는 WebAdministration 모듈을 사용하여 로컬 IIS 인스턴스를 관리합니다. 빌드 스크립트를 실행하면 WebAdministration을 가져올 때 다음 오류가 발생합니다.가져 오기 모듈 웹 관리는 스크립트에서로드되지 않지만 명령 줄에서는 실행되지 않습니다.

Error: 06/29/2016 17:28:35: At C:\dev\src\nib-ravendb\build\ConfigureIis.ps1:10 char:1 + Import-Module WebAdministration + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ [<<==>>] Exception: The specified module 'WebAdministration' was not loaded because no valid module file was fo und in any module directory. ERROR: 1

나는 PowerShell 명령 줄에서 Import-Module WebAdministration을 실행하면 모듈이 가져 내가 그것에서 기능을 사용할 수 있습니다 어떻게 이제까지. 이후 빌드 스크립트를 계속 실행해도 실패합니다.

I가 IIS 7.5PowerShell 4

사람이 가져 오기 스크립트에서 실패가 아니라 명령 줄에서, 어떻게 그것을 해결하는 것입니다 왜 아이디어가 있습니까?

답변

0

결국 초콜릿에 문제가 있었습니까?, 첫 번째 항목에 $env:PSModulePath을 잘랐습니다. 따라서 스크립트에 입력 했는데도 스크립트가 작동하는 것입니다.

내가 실행 한 스크립트의 다른 지점에 $env:PSModulePath을 로깅하여 찾았습니다.

$env:PSModulePath의 항목을 재정렬하여 해결했습니다.

다른 좋은 제안에 대해 @ Richard의 대답을 살펴보십시오.

6

서버의 경우 모듈을 사용하려면 Management ToolsWeb Server (IIS) 아래에 설치해야합니다. 모듈을 사용할 수 있는지 알아 보려면 Get-Module -ListAvailable을 사용하십시오.

10Windows 7 위해 당신은 Internet Information Services >>Web Management Tools 아래의 기능 IIS Management Scripts and tools를 설치해야합니다.

수동으로 WebAdministration .psd1 파일을 찾은 다음 가져올 수 있습니다. 다음을 시도 할 수 있지만,이 위쪽으로 2012 년 일을하고하지 않을 수 있습니다

Import-Module -Name 'C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WebAdministration\WebAdministration.psd1' 

Server 2008 경우 :

Add-PSSnapin WebAdministration 

당신이 필요합니다 당신의 모듈 후 저장되는 실행 찾을 수 있도록 $env:psmodulepath를 사용하여 관리자 권한으로 스크립트를 실행하여 Import-Module 또는 Add-PSSnapin과 함께 WebAdministration 모듈을로드 할 수 있습니다. 당신이 Question 참조 할 수 있습니다

Set-ExecutionPolicy unrestricted 

:

또한 Unrestricted로 설정 PowerShell의 실행 정책을 가지고 있는지 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. @ 리차드. 불행하게도 웹 관리 도구가 설치되어 있고 사용 가능한 모듈을 나열하면 WebAdministration이 나타납니다. 쉘에서 사용할 수도 있습니다. 스크립트를 실행할 때 가져올 수 없습니다. 그것에 대한 어떤 생각? – Klee

+0

@Klee 시도 할 수있는 몇 가지 사항으로 내 질문을 업데이트했습니다. – Richard

+0

감사합니다. 첫 번째 대답은 아마도 효과가 있었을 것입니다. 다른 두 사람은 이미 시도했습니다. 마지막으로 $ env : PSModulePath를 첫 번째 항목으로 잘라내는 문제가 있었는데, 그 이유는 스크립트에 입력 한 경우 스크립트가 작동했기 때문입니다. 나는 $ env에있는 엔트리를 재정렬함으로써이 문제를 해결했다. PSModulePath 감사합니다. – Klee