현재 세션에 모듈을 추가합니다.
구문
Import-Module [-Name] <string[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>] Import-Module [-Assembly] <Assembly[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>] Import-Module [-ModuleInfo] <PSModuleInfo[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>]
설명
Import-Module cmdlet은 현재 세션에 하나 이상의 모듈을 추가합니다.
모듈은 Windows PowerShell에서 사용할 수 있는 멤버(예: cmdlet, 공급자, 스크립트, 함수, 변수, 기타 도구 및 파일)를 포함하는 패키지입니다. 모듈을 가져온 후 세션에서 해당 모듈 멤버를 사용할 수 있습니다.
모듈을 가져오려면 Name, Assembly 또는 ModuleInfo 매개 변수를 사용하여 가져올 모듈을 식별합니다. 기본적으로 Import-Module은 모듈에서 내보내는 모든 멤버를 가져오지만 Alias, Function, Cmdlet 및 Variable 매개 변수를 사용하여 가져오는 멤버를 제한할 수 있습니다.
Import-Module은 현재 세션으로만 모듈을 가져옵니다. 모든 세션에 모듈을 가져오려면 Import-Module 명령을 Windows PowerShell 프로필에 추가합니다. 프로필에 대한 자세한 내용은 about_Profiles를 참조하십시오.
모듈에 대한 자세한 내용은 about_Modules를 참조하십시오.
매개 변수
-Alias <string[]>
지정된 별칭만 모듈에서 현재 세션으로 가져옵니다. 쉼표로 구분된 별칭 목록을 입력하십시오. 와일드카드 문자를 사용할 수 있습니다.
모듈을 가져올 때 선택된 별칭을 해당 세션으로 자동으로 내보내는 모듈도 있습니다. 이 매개 변수를 사용하면 내보내는 별칭 중에서 선택할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
true |
-ArgumentList <Object[]>
Import-Module 명령 중에 스크립트 모듈로 전달되는 인수(매개 변수 값)를 지정합니다. 이 매개 변수는 스크립트 모듈을 가져오는 경우에만 사용할 수 있습니다.
또한 해당 별칭("args")으로 ArgumentList를 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-AsCustomObject
가져온 모듈 멤버를 나타내는 멤버가 있는 사용자 지정 개체를 반환합니다. 이 매개 변수는 스크립트 모듈에만 유효합니다.
AsCustomObject 매개 변수를 사용하는 경우 Import-Module은 모듈 멤버를 세션으로 가져온 다음 PSModuleInfo 개체 대신 PSCustomObject 개체를 반환합니다. 사용자 지정 개체를 변수에 저장하고 점 표기법을 사용하여 멤버를 호출할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Assembly <Assembly[]>
지정된 어셈블리 개체에 구현된 cmdlet과 공급자를 가져옵니다. 어셈블리 개체가 포함된 변수나 어셈블리 개체를 만드는 명령을 입력하십시오. 또한 어셈블리 개체를 Import-Module로 파이프할 수 있습니다.
이 매개 변수를 사용하면 지정된 어셈블리에서 구현한 cmdlet과 공급자만 가져옵니다. 모듈에 다른 파일이 포함되어 있는 경우 이러한 파일은 가져오지 않으므로 모듈의 중요한 멤버를 빠뜨릴 수도 있습니다. 모듈을 디버깅하고 테스트하는 경우나 모듈 작성자가 지시한 경우 이 매개 변수를 사용하십시오.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-Cmdlet <string[]>
지정된 cmdlet만 모듈에서 현재 세션으로 가져옵니다. cmdlet의 목록을 입력하십시오. 와일드카드 문자를 사용할 수 있습니다.
모듈을 가져올 때 선택된 cmdlet을 해당 세션으로 자동으로 내보내는 모듈도 있습니다. 이 매개 변수를 사용하면 내보내는 cmdlet 중에서 선택할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
true |
-Force
모듈 또는 해당 멤버의 액세스 모드가 읽기 전용인 경우에도 모듈 및 해당 멤버를 다시 가져옵니다.
필수 여부 |
false |
위치 |
named |
기본값 |
False |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Function <string[]>
지정된 함수만 모듈에서 현재 세션으로 가져옵니다. 함수의 목록을 입력하십시오. 와일드카드 문자를 사용할 수 있습니다.
모듈을 가져올 때 선택된 함수를 해당 세션으로 자동으로 내보내는 모듈도 있습니다. 이 매개 변수를 사용하면 내보내는 함수 중에서 선택할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
true |
-Global
스크립트 모듈(.psm1)에서 사용할 경우 이 매개 변수는 모듈을 전역 세션 상태로 가져옵니다.
이 매개 변수는 스크립트 모듈에 표시되는 경우에만 적용됩니다. 그렇지 않으면 매개 변수가 무시됩니다.
기본적으로 중첩 모듈의 명령을 비롯한 스크립트 모듈의 명령을 호출자의 세션 상태로 가져옵니다. 모듈에서 내보내는 명령을 제한하려면 스크립트 모듈에 Export-ModuleMember 명령을 사용합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-ModuleInfo <PSModuleInfo[]>
가져올 모듈 개체를 지정합니다. 모듈 개체가 포함된 변수를 입력하거나 모듈 개체를 가져오는 명령(예: "Get-Module -listavailable" 명령)을 입력하십시오. 또한 모듈 개체를 Import-Module로 파이프할 수 있습니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-Name <string[]>
가져올 모듈의 이름을 지정합니다. 모듈의 이름이나 모듈에 있는 파일의 이름을 입력하십시오(예: psd1, .psm1, .dll 또는 ps1 파일). 파일 경로는 선택 사항입니다. 와일드카드는 사용할 수 없습니다. 또한 모듈 이름과 파일 이름을 Import-Module로 파이프할 수 있습니다.
경로를 생략하는 경우 Import-Module은 PSModulePath 환경 변수($env:PSModulePath)에 저장된 경로에서 모듈을 찾습니다.
가능하면 항상 모듈 이름만 지정하십시오. 파일 이름을 지정하는 경우 해당 파일에 구현된 멤버만 가져옵니다. 모듈에 다른 파일이 포함되어 있는 경우 이러한 파일은 가져오지 않으므로 모듈의 중요한 멤버를 빠뜨릴 수도 있습니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-PassThru
가져온 모듈을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.
참고
-- PassThru 매개 변수를 사용하여 "Get-Module -listavailable" 명령의 출력을 Import-Module 명령으로 파이프하는 경우 Import-Module은 Get-Module이 전달한 개체를 업데이트하지 않고 반환합니다. 이에 따라 Exported 및 NestedModules 속성은 아직 채워지지 않습니다.
-- Prefix 매개 변수를 사용하여 멤버의 접두사를 지정하는 경우 해당 접두사는 모듈 개체의 속성에 있는 멤버 이름에 나타나지 않습니다. 개체는 해당 접두사가 적용되기 전에 내보낸 것을 기록합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Prefix <string>
가져온 모듈 멤버의 이름에 있는 명사에 지정된 접두사를 추가합니다.
세션에 있는 서로 다른 멤버의 이름이 동일한 경우 발생할 수 있는 이름 충돌을 방지하려면 이 매개 변수를 사용하십시오. 이 매개 변수는 모듈을 변경하지 않습니다. 또한 모듈에서 자체적으로 사용하기 위해 가져오는 파일("중첩 모듈"이라고 함)에 영향을 미치지 않으며 현재 세션에 있는 멤버의 이름에만 영향을 줍니다.
예를 들어 접두사 "UTC"를 지정한 다음 Get-Date cmdlet을 가져오는 경우 이 cmdlet은 세션에서 Get-UTCDate로 알려지며 Get-UTCDate는 원래 Get-Date cmdlet과 혼동되지 않습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Variable <string[]>
지정된 변수만 모듈에서 현재 세션으로 가져옵니다. 변수의 목록을 입력하십시오. 와일드카드 문자를 사용할 수 있습니다.
모듈을 가져올 때 선택된 변수를 해당 세션으로 자동으로 내보내는 모듈도 있습니다. 이 매개 변수를 사용하면 내보내는 변수 중에서 선택할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
true |
-Version <Version>
가져올 모듈의 버전을 지정합니다. 시스템에 동일한 모듈의 서로 다른 버전이 있는 경우 이 매개 변수를 사용하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly 모듈 이름, 모듈 개체 또는 어셈블리 개체를 Import-Module로 파이프할 수 있습니다. |
출력 |
None, System.Management.Automation.PSModuleInfo 또는 System.Management.Automation.PSCustomObject 기본적으로 Import-Module은 출력을 생성하지 않습니다. 이 명령은 PassThru 매개 변수를 사용하는 경우 모듈을 나타내는 System.Management.Automation.PSModuleInfo 개체를 생성하고, AsCustomObject 매개 변수를 사용하는 경우 PSCustomObject 개체를 생성합니다. |
참고
또한 해당 별칭("ipmo")으로 Import-Module을 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.
모듈을 가져오려면 먼저 모듈 디렉터리를 로컬 컴퓨터에서 액세스할 수 있는 디렉터리에 복사해야 합니다. 자세한 내용은 about_Modules를 참조하십시오.
모듈 멤버는 개인 모듈 세션 상태에서 실행되므로 모듈 멤버가 내부 처리에 사용하는 명령은 세션 상태에 영향을 주지 않습니다.
이름과 형식이 같은 멤버를 해당 세션으로 가져오는 경우 Windows PowerShell은 기본적으로 마지막으로 가져온 멤버를 사용합니다. 변수와 별칭은 대체되고 원래 변수와 별칭에는 액세스할 수 없습니다. 함수, cmdlet 및 공급자는 새 멤버에 의해 "숨겨지기"만 하며 스냅인, 모듈 또는 함수 경로의 이름으로 명령 이름을 정규화하여 액세스할 수 있습니다.
모듈에서 가져온 명령에 대한 형식 지정 데이터를 업데이트하려면 Update-FormatData cmdlet을 사용합니다. Update-FormatData는 모듈에서 가져온 세션 내 명령에 대한 형식 지정 데이터도 업데이트합니다. 모듈에 대한 형식 지정 파일이 변경되는 경우 Update-FormatData 명령을 실행하여 가져온 명령에 대한 형식 지정 데이터를 업데이트할 수 있습니다. 모듈을 다시 가져올 필요는 없습니다.
Import-PSSession 또는 Export-PSSession에서 만든 모듈을 가져오려는 경우 현재 세션의 실행 정책은 Restricted 또는 AllSigned일 수 없습니다. 그 이유는 Import-PSSession 및 Export-PSSession에서 만든 모듈에 이러한 정책에서 금지하는 서명되지 않은 스크립트가 포함되어 있기 때문입니다. 로컬 컴퓨터에 대한 실행 정책을 변경하지 않고 Import-Module을 사용하려면 Set-ExecutionPolicy의 Scope 매개 변수를 사용하여 단일 프로세스에 대한 덜 제한적인 실행 정책을 설정합니다.
예 1
C:\PS>import-module -name BitsTransfer 설명 ----------- 이 명령은 BitsTransfer 모듈의 멤버를 현재 세션으로 가져옵니다. Name 매개 변수 이름(-Name)은 선택 사항이며 생략할 수 있습니다. 기본적으로 Import-Module은 모듈을 가져올 때 출력을 생성하지 않습니다. 출력을 요청하려면 PassThru 또는 AsCustomObject 매개 변수나 Verbose 일반 매개 변수를 사용합니다.
예 2
C:\PS>get-module -listAvailable | import-module 설명 ----------- 이 명령은 PSModulePath 환경 변수($env:psmodulepath)로 지정된 경로에서 사용 가능한 모든 모듈을 현재 세션으로 가져옵니다.
예 3
C:\PS>$m = get-module -ListAvailable BitsTransfer, ServerBackup C:\PS> import-module -moduleInfo $m 설명 ----------- 이들 명령은 BitsTransfer 및 ServerBackup 모듈의 멤버를 현재 세션으로 가져옵니다. 첫 번째 명령은 Get-Module cmdlet을 사용하여 BitsTransfer 및 ServerBackup 모듈을 나타내는 PSModuleInfo 개체를 가져와서 $m 변수에 저장합니다. 세션으로 아직 가져오지 않은 모듈을 가져오는 경우 ListAvailable 매개 변수가 필요합니다. 두 번째 명령은 Import-Module의 ModuleInfo 매개 변수를 사용하여 모듈을 현재 세션으로 가져옵니다. 이들 명령은 파이프라인 연산자(|)를 사용하여 Get-Module 명령의 출력을 Import-Module로 보내는 것과 동일합니다.
예 4
C:\PS>import-module -name c:\ps-test\modules\test -verbose VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'. VERBOSE: Exporting function 'my-parm'. VERBOSE: Exporting function 'get-parm'. VERBOSE: Exporting function 'get-spec'. VERBOSE: Exporting function 'get-specDetails'. 설명 ----------- 이 명령은 명시적 경로를 사용하여 가져올 모듈을 식별합니다. 또한 이 명령은 Verbose 일반 매개 변수를 사용하여 모듈에서 가져온 항목의 목록을 가져옵니다. Verbose, PassThru 또는 AsCustomObject 매개 변수가 없는 경우 Import-Module은 모듈을 가져올 때 출력을 생성하지 않습니다.
예 5
C:\PS>import-module BitsTransfer -cmdlet Add-BitsTransferFile, Get-BitsTransfer C:\PS> get-module BitsTransfer Name : BitsTransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1 Description : Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 Version : 1.0.0.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {[Add-BitsTransfer, Add-BitsTransfer], [Complete-BitsTransfer, Complete-BitsTransfer], [Get-BitsTransfer, Get-BitsTransfer], [Rem ove-BitsTransfer, Remove-BitsTransfer]...} ExportedFunctions : {} ExportedVariables : {} NestedModules : {Microsoft.BackgroundIntelligentTransfer.Management} C:\PS> get-command -module BitsTransfer CommandType Name Definition ----------- ---- ---------- Cmdlet Add-BitsTransfer Add-BitsTransfer [-BitsJob] <BitsJob[]> [-Source] <String[]> [[-Destination] <String[]>] [-Verbose] [-Debug] [-ErrorA... Cmdlet Get-BitsTransfer Get-BitsTransfer [[-Name] <String[]>] [-AllUsers] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningActi... 설명 ----------- 이 예에서는 세션으로 가져오는 모듈 멤버를 제한하는 방법과 세션에 대한 이 명령의 영향을 보여 줍니다. 첫 번째 명령은 BitsTransfer 모듈에서 Add-BitsTransfer 및 Get-BitsTransfer cmdlet만 가져옵니다. 이 명령은 Cmdlet 매개 변수를 사용하여 모듈이 가져오는 cmdlet을 제한합니다. Alias, Variable 및 Function 매개 변수를 사용하여 모듈이 가져오는 다른 멤버를 제한할 수도 있습니다. 두 번째 명령은 Get-Module cmdlet을 사용하여 BitsTransfer 모듈을 나타내는 개체를 가져옵니다. ExportedCmdlets 속성은 모듈이 내보내는 cmdlet을 모두 가져오지 않은 경우에도 모든 cmdlet을 나열합니다. 세 번째 명령은 Get-Command cmdlet의 Module 매개 변수를 사용하여 BitsTransfer 모듈에서 가져온 명령을 검색합니다. 결과에는 Add-BitsTransfer 및 Get-BitsTransfer cmdlet만 가져온 것으로 표시됩니다.
예 6
C:\PS>import-module BitsTransfer -prefix PS -passthru Name : bitstransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer\bitstransfer.psd1 Description : Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 Version : 1.0.0.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {[Add-BitsTransfer, Add-BitsTransfer], [Remove-BitsTransfer, Remove-BitsTransfer], [Complete-BitsTransfer, Complete-BitsTransfer] , [Get-BitsTransfer, Get-BitsTransfer]...} ExportedFunctions : {} ExportedVariables : {} NestedModules : {Microsoft.BackgroundIntelligentTransfer.Management} C:\PS> get-command -module bitstransfer CommandType Name Definition ----------- ---- ---------- Cmdlet Add-PSBitsTransfer Add-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Source] <String[]> ... Cmdlet Complete-PSBitsTransfer Complete-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Deb... Cmdlet Get-PSBitsTransfer Get-PSBitsTransfer [[-Name] <String[]>] [-AllUsers] [-Verbose] ... Cmdlet Remove-PSBitsTransfer Remove-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Debug... Cmdlet Resume-PSBitsTransfer Resume-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Asynchronous] [-... Cmdlet Set-PSBitsTransfer Set-PSBitsTransfer [-BitsJob] <BitsJob[]> [-DisplayName <String... Cmdlet Start-PSBitsTransfer Start-PSBitsTransfer [[-Source] <String[]>] [[-Destination] <St... Cmdlet Suspend-PSBitsTransfer Suspend-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Debu... 설명 ----------- 이들 명령은 BitsTransfer 모듈을 현재 세션으로 가져오고 접두사를 멤버 이름 앞에 추가한 다음 접두사가 추가된 멤버 이름을 표시합니다. 첫 번째 명령은 Import-Module cmdlet을 사용하여 BitsTransfer 모듈을 가져옵니다. 이 명령은 Prefix 매개 변수를 사용하여 모듈에서 가져온 모든 멤버에 PS 접두사를 추가하고 PassThru 매개 변수를 사용하여 가져온 모듈을 나타내는 모듈 개체를 반환합니다. 명령이 반환하는 모듈 개체에는 내보낸 멤버를 나열하는 ExportedCmdlets 속성이 있습니다. 접두사는 멤버를 내보낸 후(그러나 멤버를 가져오기 전) 적용되기 때문에 cmdlet 이름에 나타나지 않습니다. 두 번째 명령은 Get-Command cmdlet을 사용하여 모듈에서 가져온 멤버를 검색합니다. 이 명령은 Module 매개 변수를 사용하여 모듈을 지정합니다. 출력에는 모듈 멤버에 접두사가 올바르게 추가된 것으로 표시됩니다. 사용하는 접두사는 현재 세션의 멤버에만 적용되고 모듈을 변경하지는 않습니다.
예 7
C:\PS>get-module -list | format-table -property name, moduletype -auto Name ModuleType ---- ---------- Show-Calendar Script BitsTransfer Manifest PSDiagnostics Manifest TestCmdlets Script C:\PS> $a = import-module -name Show-Calendar -asCustomObject C:\PS> $a | get-member TypeName: System.Management.Automation.PSCustomObject Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Show-Calendar ScriptMethod System.Object Show-Calendar(); C:\PS> $a."show-calendar"() 설명 ----------- 이들 명령은 Import-Module이 반환하는 사용자 지정 개체를 가져오고 사용하는 방법을 보여 줍니다. 사용자 지정 개체에는 가져온 각각의 모듈 멤버를 나타내는 합성 멤버가 포함되어 있습니다. 예를 들어 모듈의 함수와 cmdlet은 사용자 지정 개체의 스크립트 메서드로 변환됩니다. 사용자 지정 개체는 스크립팅에 매우 유용합니다. 또한 가져온 몇몇 개체의 이름이 같은 경우에도 유용합니다. 개체의 스크립트 메서드를 사용하는 것은 모듈 이름을 포함하여 가져온 멤버의 정규화된 이름을 지정하는 것과 동일합니다. AsCustomObject 매개 변수는 스크립트 모듈에서만 사용할 수 있으므로 먼저 사용할 수 있는 모듈 중에서 스크립트 모듈을 확인해야 합니다. 첫 번째 명령은 Get-Module cmdlet을 사용하여 사용 가능한 모듈을 가져온 다음 파이프라인 연산자(|)를 사용하여 모듈 개체를 Format-Table cmdlet으로 전달합니다. 이 cmdlet은 각 모듈의 Name 및 ModuleType을 테이블로 나열합니다. 두 번째 명령은 Import-Module cmdlet을 사용하여 Show-Calendar 스크립트 모듈을 가져온 다음 AsCustomObject 매개 변수를 사용하여 사용자 지정 개체를 요청합니다. 이 명령은 결과 사용자 지정 개체를 $a 변수에 저장합니다. 세 번째 명령은 파이프라인 연산자를 사용하여 $a 변수를 Get-Member cmdlet으로 보냅니다. 이 cmdlet은 $a에 있는 PSCustomObject의 속성과 메서드를 가져옵니다. 출력에는 Show-Calendar 스크립트 메서드가 표시됩니다. 마지막 명령은 Show-Calendar 스크립트 메서드를 사용합니다. 메서드 이름은 하이픈을 포함하므로 따옴표로 묶어야 합니다.
예 8
C:\PS>import-module BitsTransfer C:\PS> import-module BitsTransfer -force -prefix PS 설명 ----------- 이 예에서는 모듈을 동일한 세션으로 다시 가져올 때 Import-Module의 Force 매개 변수를 사용하는 방법을 보여 줍니다. 첫 번째 명령은 BitsTransfer 모듈을 가져옵니다. 두 번째 명령은 Prefix 매개 변수를 사용하여 모듈을 다시 가져옵니다. 두 번째 명령에는 모듈을 제거한 후 다시 가져오는 Force 매개 변수도 포함되어 있습니다. 이 매개 변수가 없는 경우 각 BitsTransfer cmdlet에 대해 표준 이름과 접두사가 지정된 이름을 사용하는 복사본 두 개가 세션에 포함됩니다.
예 9
C:\PS>get-date Saturday, September 12, 2009 6:47:04 PM C:\PS> import-module TestModule C:\PS> get-date 09255 C:\PS> get-command get-date | format-table -property commandtype, name, pssnapin, module -auto CommandType Name pssnapin Module ----------- ---- -------- ------ Function Get-Date TestModule Cmdlet Get-Date Microsoft.PowerShell.Utility C:\PS> Microsoft.PowerShell.Utility\get-date Saturday, September 12, 2009 6:33:23 PM 설명 ----------- 이 예에서는 가져온 명령에서 숨긴 명령을 실행하는 방법을 보여 줍니다. 첫 번째 명령은 Windows PowerShell과 함께 제공된 Get-Date cmdlet을 실행합니다. 이 명령은 현재 날짜를 사용하여 DateTime 개체를 반환합니다. 두 번째 명령은 TestModule 모듈을 가져옵니다. 이 모듈에는 율리우스력을 반환하는 Get-Date라는 함수가 포함되어 있습니다. 세 번째 명령은 Get-Date 명령을 다시 실행합니다. 함수가 cmdlet보다 우선하므로 Get-Date cmdlet 대신 TestModule 모듈의 Get-Date 함수가 실행되었습니다. 네 번째 명령은 세션에 두 개의 Get-Date 명령이 있음을 보여 줍니다. 하나는 TestModule 모듈의 함수이고 다른 하나는 Microsoft.PowerShell.Utility 스냅인의 cmdlet입니다. 다섯 번째 명령은 명령 이름을 스냅인 이름으로 정규화하여 숨겨진 cmdlet을 실행합니다. Windows PowerShell의 명령 우선 순위에 대한 자세한 내용은 about_command_precedence를 참조하십시오.
참고 항목