Get-Module
현재 세션으로 가져왔거나 가져올 수 있는 모듈을 검색합니다.
구문
Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>]
Get-Module [[-Name] <string[]>] [<CommonParameters>]
설명
Get-Module cmdlet은 세션으로 가져왔거나 가져올 수 있는 모듈을 검색합니다.
Get-Module은 모듈을 검색만 하고 가져오지 않습니다. 해당 세션으로 모듈을 가져오려면 Import-Module을 사용합니다.
매개 변수
-All
모든 모듈 파일에 대한 모듈 개체를 가져옵니다.
All 매개 변수가 없는 경우 Get-Module은 기본 모듈 파일에 대한 모듈 개체만 가져옵니다. cmdlet은 매니페스트(.psd1) 파일, 스크립트 모듈(.psm1) 파일 및 이진 모듈(.dll) 파일순으로 파일 형식을 선택합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-ListAvailable
세션으로 가져올 수 있는 모든 모듈을 검색합니다. Get-Module은 $env:PSModulePath 환경 변수로 지정된 경로에서 모듈을 검색합니다.
이 매개 변수가 없는 경우 Get-Module은 해당 세션으로 가져온 모듈만 가져옵니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Name <string[]>
지정된 이름이나 이름 패턴의 모듈만 가져옵니다. 와일드카드를 사용할 수 있습니다. 또한 이름을 Get-Module로 파이프할 수 있습니다.
필수 여부 |
false |
위치 |
1 |
기본값 |
모든 가져온 모듈 또는 사용 가능한 모듈 |
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
true |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.String 모듈 이름을 Get-Module로 파이프할 수 있습니다. |
출력 |
System.Management.Automation.PSModuleInfo Get-Module은 모듈을 나타내는 개체를 반환합니다. |
참고
또한 해당 별칭("gmo")으로 Get-Module을 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.
All 매개 변수는 파일이 cmdlet 또는 공급자를 구현하지 않는 경우에도 파일 이름 확장명이 .dll인 모든 파일에 대한 모듈 개체를 반환합니다.
예 1
C:\PS>get-module
설명
-----------
이 명령은 현재 세션으로 가져온 모듈을 가져옵니다.
예 2
C:\PS>get-module -listAvailable
설명
-----------
이 명령은 현재 세션으로 가져올 수 있는 모듈을 가져옵니다.
Get-Module은 $env:PSModulePath 환경 변수로 지정된 경로에서 사용 가능한 모듈을 찾습니다. PSModulePath에 대한 자세한 내용은 about_Modules 및 about_Environment_Variables를 참조하십시오.
예 3
C:\PS>get-module -listAvailable -all
설명
-----------
이 명령은 사용 가능한 모든 모듈의 내보낸 파일을 모두 가져옵니다.
예 4
C:\PS>get-module | get-member -type property
TypeName: System.Management.Automation.PSModuleInfo
Name MemberType Definition
---- ---------- ----------
AccessMode Property System.Management.Automation.ModuleAcc
Description Property System.String Description {get;set;}
ExportedAliases Property System.Collections.Generic.Dictionary`
ExportedCmdlets Property System.Collections.Generic.Dictionary`
ExportedFunctions Property System.Collections.Generic.Dictionary`
ExportedVariables Property System.Collections.Generic.Dictionary`
Guid Property System.Guid Guid {get;}
ModuleBase Property System.String ModuleBase {get;}
ModuleType Property System.Management.Automation.ModuleTyp
Name Property System.String Name {get;}
NestedModules Property System.Collections.ObjectModel.ReadOnl
OnRemove Property System.Management.Automation.ScriptBlo
Path Property System.String Path {get;}
PrivateData Property System.Object PrivateData {get;set;}
SessionState Property System.Management.Automation.SessionSt
Version Property System.Version Version {get;}
설명
-----------
이 명령은 Get-Module이 반환하는 PSModuleInfo 개체의 속성을 가져옵니다. 모듈 파일마다 하나의 개체가 있습니다.
이러한 속성을 사용하여 모듈 개체의 형식을 지정하고 필터링할 수 있습니다. 속성에 대한 자세한 내용은 MSDN(Microsoft Developer Network) 라이브러리의 "PSModule Properties(PSModule 속성)"(https://go.microsoft.com/fwlink/?LinkId=143624)를 참조하십시오.
예 5
C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, path -groupby name -auto
Name: MyTestCmdlets
Name ModuleType Path
---- ---------- ----
MyTestCmdlets Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestCmdlets\TestCmdlets.dll
Name: PSDiagnostics
Name ModuleType Path
---- ---------- ----
PSDiagnostics Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psd1
PSDiagnostics Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1
Name: FileTransfer
Name ModuleType Path
---- ---------- ----
FileTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1
설명
-----------
이 명령은 모든 모듈 파일(가져온 파일과 사용 가능한 파일)을 가져오고 모듈 이름별로 그룹화합니다. 이에 따라 각 스크립트에서 내보내는 모듈 파일을 확인할 수 있습니다.
예 6
C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype -eq "Manifest"}
C:\PS> get-content $m.path
@{
GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
Author="Microsoft Corporation"
CompanyName="Microsoft Corporation"
Copyright="© Microsoft Corporation. All rights reserved."
ModuleVersion="1.0.0.0"
Description="Windows Powershell File Transfer Module"
PowerShellVersion="2.0"
CLRVersion="2.0"
NestedModules="Microsoft.BackgroundIntelligentTransfer.Management"
FormatsToProcess="FileTransfer.Format.ps1xml"
RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll"
}
설명
-----------
이들 명령은 Windows PowerShell File Transfer 모듈에 대한 모듈 매니페스트의 내용을 표시합니다.
첫 번째 명령은 File Transfer 모듈에 대한 모듈 매니페스트를 나타내는 PSModuleInfo 개체를 가져와서 $m 변수에 저장합니다.
두 번째 명령은 점 표기법을 사용하여 개체의 Path 속성에 저장된 매니페스트 파일의 경로를 가져옵니다. 그런 다음 Get-Content cmdlet을 사용하여 지정된 경로에 있는 매니페스트 파일의 내용을 가져옵니다.
모듈에는 매니페스트 파일이 있을 필요가 없으며 있는 경우에는 버전 번호를 포함하기 위해서만 매니페스트가 필요합니다. 그러나 매니페스트 파일에서 모듈, 해당 모듈의 요구 사항 및 내용에 대한 유용한 정보를 제공하는 경우도 많습니다.
예 7
C:\PS>get-module -listAvailable -name FileTransfer | format-list -property *
Name : FileTransfer
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1
Description : Powershell File Transfer Module
Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
PrivateData :
Version : 1.0.0.0
ModuleType : Manifest
AccessMode : ReadWrite
ExportedFunctions : {}
ExportedCmdlets : {}
NestedModules : {}
ExportedVariables : {}
ExportedAliases : {}
SessionState : System.Management.Automation.SessionState
OnRemove :
설명
-----------
이 명령은 FileTransfer 모듈의 모든 속성을 목록으로 표시합니다.
이 모듈을 해당 세션으로 아직 가져오지 않았기 때문에 Exported* 속성과 NestedModules 속성이 채워지지 않았습니다. 이러한 속성은 요소를 내보내고 중첩 모듈을 인스턴스화한 후에만 채워집니다.
예 8
C:\PS>dir (get-module -listavailable FileTransfer).modulebase
Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/16/2008 12:36 PM en-US
-a--- 11/19/2008 11:30 PM 16184 FileTransfer.Format.ps1xml
-a--- 11/20/2008 11:30 PM 1044 FileTransfer.psd1
-a--- 12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll
설명
-----------
이 명령은 모듈의 디렉터리에 있는 파일을 나열합니다. 이는 모듈을 가져오기 전에 모듈에 있는 항목을 확인하는 또 다른 방법입니다. 일부 모듈에는 모듈에 대해 설명하는 추가 정보 파일이나 도움말 파일이 있을 수 있습니다.