Export-ModuleMember
내보낼 모듈 멤버를 지정합니다.
구문
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Description
Export-ModuleMember cmdlet은 스크립트 모듈(.psm1) 파일 또는 New-Module cmdlet을 사용하여 만든 동적 모듈에서 내보낸 모듈 멤버를 지정합니다. 모듈 멤버에는 cmdlet, 함수, 변수 및 별칭이 포함됩니다. 이 cmdlet은 스크립트 모듈 파일 또는 동적 모듈에서만 사용할 수 있습니다.
스크립트 모듈에 Export-ModuleMember 명령이 포함되어 있지 않으면 스크립트 모듈의 함수와 별칭이 내보내지만 변수는 내보내지지 않습니다.
스크립트 모듈에 Export-ModuleMember 명령이 포함된 경우 Export-ModuleMember 명령에 지정된 멤버만 내보냅니다.
Export-ModuleMember
Export-ModuleMember 명령은 선택 사항이지만 모범 사례입니다. 명령이 기본값을 확인하더라도 모듈 작성자의 의도를 보여 줍니다.
예제
예제 1: 스크립트 모듈에서 함수 및 별칭 내보내기
Export-ModuleMember -Function * -Alias *
이 명령은 스크립트 모듈에 정의된 모든 함수와 별칭을 내보냅니다.
예제 2: 특정 별칭 및 함수 내보내기
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
이 명령은 스크립트 모듈에 정의된 별칭 3개와 함수 3개를 내보냅니다.
이 명령 형식을 사용하여 모듈 멤버의 이름을 지정할 수 있습니다.
예제 3: 멤버 내보내기 없음
Export-ModuleMember
이 명령은 스크립트 모듈에 정의된 멤버를 내보내지 않음을 지정합니다.
이 명령은 모듈 멤버를 내보내는 것을 방지하지만 멤버를 숨기지는 않습니다. 사용자는 모듈 멤버를 읽고 복사하거나 호출 연산자(&)를 사용하여 내보내지 않은 모듈 멤버를 호출할 수 있습니다.
예제 4: 특정 변수 내보내기
Export-ModuleMember -Variable increment
이 명령은 스크립트 모듈에서 $increment 변수만 내보냅니다. 다른 멤버는 내보내지 않습니다.
변수를 내보내려는 경우 모듈에서 함수를 내보내는 것 외에도 Export-ModuleMember 명령에는 모든 함수의 이름과 변수 이름이 포함되어야 합니다.
예제 5: 여러 내보내기 명령
# From TestModule.psm1
Function New-Test
{
Write-Output 'I am New-Test function'
}
Export-ModuleMember -Function New-Test
function Validate-Test
{
Write-Output 'I am Validate-Test function'
}
function Start-Test
{
Write-Output 'I am Start-Test function'
}
Set-Alias stt Start-Test
Export-ModuleMember -Function Start-Test -Alias stt
이러한 명령은 여러 Export-ModuleMember 명령이 스크립트 모듈(.psm1) 파일에서 해석되는 방법을 보여 줍니다.
이러한 명령은 세 개의 함수와 하나의 별칭을 만든 다음 두 개의 함수와 별칭을 내보냅니다.
Export-ModuleMember 명령이 없으면 세 가지 함수와 별칭을 모두 내보냅니다. Export-ModuleMember 명령을 사용하면 New-Test 및 Start-Test 함수와 STT 별칭만 내보냅니다.
예제 6: 동적 모듈에서 멤버 내보내기
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
이 명령은 New-Module cmdlet을 사용하여 만든 동적 모듈에서 Export-ModuleMember 사용하는 방법을 보여줍니다.
이 예제에서는 Export-ModuleMember 사용하여 동적 모듈에서 Hi 별칭과 SayHello 함수를 모두 내보냅니다.
예제 7: 단일 명령에서 함수 선언 및 내보내기
# From TestModule.psm1
function Export
{
param (
[Parameter(Mandatory=$true)]
[ValidateSet("function","variable")]
$Type,
[Parameter(Mandatory=$true)]
$Name,
[Parameter(Mandatory=$true)]
$Value
)
if ($Type -eq "function")
{
Set-item "function:script:$Name" $Value
Export-ModuleMember $Name
}
else
{
Set-Variable -scope Script $Name $Value
Export-ModuleMember -variable $Name
}
}
Export function New-Test {Write-Output 'I am New-Test function'}
function helper {Write-Output 'I am helper function'}
Export variable Interval 0
$Interval = 2
이 예제에는 함수를 선언하거나 변수를 만든 다음 함수 또는 변수에 대한 Export-ModuleMember
명령을 작성하는 Export 함수가 포함되어 있습니다.
이렇게 하면 단일 명령으로 함수 또는 변수를 선언하고 내보낼 수 있습니다.
내보내기 함수를 사용하려면 스크립트 모듈에 포함합니다.
함수를 내보내려면 Function 키워드 앞에 Export
입력합니다.
변수를 내보내려면 다음 형식을 사용하여 변수를 선언하고 해당 값을 설정합니다.
Export variable <variable-name> <value>
예제의 명령은 올바른 형식을 보여 줍니다. 이 예제에서는 New-Test 함수와 $Interval 변수만 내보냅니다.
매개 변수
-Alias
스크립트 모듈 파일에서 내보낼 별칭을 지정합니다. 별칭 이름을 입력합니다. 와일드카드 문자가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
-Cmdlet
스크립트 모듈 파일에서 내보내는 cmdlet을 지정합니다. cmdlet 이름을 입력합니다. 와일드카드 문자가 허용됩니다.
스크립트 모듈 파일에서는 cmdlet을 만들 수 없지만 이진 모듈에서 스크립트 모듈로 cmdlet을 가져와서 스크립트 모듈에서 다시 내보낼 수 있습니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
-Function
스크립트 모듈 파일에서 내보내는 함수를 지정합니다.
함수 이름을 입력합니다.
와일드카드 문자가 허용됩니다.
함수 이름 문자열을 Export-ModuleMember
형식: | String[] |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
-Variable
스크립트 모듈 파일에서 내보낼 변수를 지정합니다. 달러 기호 없이 변수 이름을 입력합니다. 와일드카드 문자가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
입력
함수 이름 문자열을 이 cmdlet으로 파이프할 수 있습니다.
출력
None
이 cmdlet은 출력을 생성하지 않습니다.
참고
- 내보낸 멤버 목록에서 멤버를 제외하려면 다른 모든 멤버를 나열하지만 제외하려는 멤버를 생략하는 Export-ModuleMember 명령을 추가합니다.