2014-04-19 2 views
3

C : \ PowerShellScripts \ Modules 폴더에 모듈이 있습니다. 나는 이것을 mod.psm1이라고 부른다. 이 파일에는 Write-hello와 Write-bye라는 두 가지 간단한 함수가 들어 있습니다.환경 변수에 모듈 경로가 정의 된 후에도 Powershell 모듈이로드되지 않습니다.

이제이 경로 (C : \ PowerShellScripts \ Modules)를 내 PSModulePath 환경 변수 경로에 추가했습니다.

따라서 PowerShell을 시작할 때 모듈을 자동로드해야합니다. 옳은? , 용어 '쓰기 안녕하세요'가 cmdlet에의 이름으로 인식되지 않습니다 : 내가 PowerShell을 실행하려고 할 때

는하지만 안녕하세요 - 쓰기 또는 쓰기 인사는

쓰기 - 안녕하세요 오류를 제공합니다 기능, 스크립트 파일 또는 실행할 수있는 프로그램

PowerShell을 $ ENV이 경우에도 mod.psm1 파일을로드하지 않습니다 그리고

내가 수동으로 사용할 필요가 : PSModulePath 내 경로 (\ PowerShellScripts 모듈 \ C)를 보여줍니다 가져 오기 모듈 agai 엔. 무엇이 잘못 될 수 있습니까?

+0

모듈은 항상 모듈 자체와 같은 이름을 가진 폴더에 설치됩니다. 모듈의 이름은 모듈에 .psm1 확장자를 뺀 파일 이름입니다. 따라서 내 mod.psm1 파일은 "mod"폴더로 들어가고 이제는 액세스 할 수 있습니다! – Kiran6699

+0

추가하려면 폴더 이름이 .psm1 파일 이름과 다를 수 있지만 폴더와 이름이 같은 최소한 하나의 이진 모듈 (.dll) 또는 모듈 매니페스트 (.psd1)가 있어야합니다. – Nitesh

답변

2

나는 그것을 알아 냈다. mod.psm1 파일을 "mod"라는 폴더에 추가해야했습니다. 이제 PowerShell을 시작할 때 write-hello 또는 write-bye cmdlets에 직접 액세스 할 수 있습니다.

10

Here
A "잘 형성된"모듈 가능한 서에 따라 모듈 디렉토리에 적어도 하나 개의 파일의 기본 이름과 동일한 이름을 갖는 디렉토리에 저장하는 모듈이다. 모듈의 형식이 올바르지 않으면 Windows PowerShell에서이 모듈을 모듈로 인식하지 못합니다.

파일의 "기본 이름"은 파일 이름 확장명이없는 이름입니다. 올바른 형식의 모듈에서 모듈 파일이 들어있는 디렉토리의 이름은 모듈에있는 하나 이상의 파일의 기본 이름과 일치해야합니다.

'mod'(파일 mod.psm1과 같은 기본 이름) 디렉토리를 만들어 모듈을 그 안에 넣으면 cmdlet에 액세스 할 수 있습니다.

관련 문제