Get-Module

현재 세션에서 가져온 모듈 또는 PSModulePath에서 가져올 수 있는 모듈을 나열합니다.

Syntax

Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   -PSSession <PSSession>
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-SkipEditionCheck]
   [-Refresh]
   -CimSession <CimSession>
   [-CimResourceUri <Uri>]
   [-CimNamespace <String>]
   [<CommonParameters>]

Description

이 cmdlet에는 Get-Module PowerShell 세션으로 가져온 PowerShell 모듈 또는 가져올 수 있는 PowerShell 모듈이 나열됩니다. 매개 변수가 Get-Module 없으면 현재 세션으로 가져온 모듈을 가져옵니다. ListAvailable 매개 변수는 PSModulePath 환경 변수($env:PSModulePath)에 지정된 경로에서 가져올 수 있는 모듈을 나열하는 데 사용됩니다.

반환하는 Get-Module 모듈 개체에는 모듈에 대한 중요한 정보가 포함됩니다. 모듈 개체를 다른 cmdlet(예: cmdlet)으로 파이프할 Import-ModuleRemove-Module 수도 있습니다.

Get-Module 는 모듈을 나열하지만 가져오지는 않습니다. Windows PowerShell 3.0부터 모듈에서 명령을 사용할 때 모듈을 자동으로 가져오지만 Get-Module 명령은 자동 가져오기를 트리거하지 않습니다. cmdlet을 사용하여 Import-Module 모듈을 세션으로 가져올 수도 있습니다.

Windows PowerShell 3.0부터 원격 세션에서 로컬 세션으로 모듈을 가져온 다음 가져올 수 있습니다. 이 전략은 PowerShell의 암시적 원격 기능을 사용하며 cmdlet을 Import-PSSession 사용하는 것과 같습니다. 다른 세션에서 가져온 모듈에서 명령을 사용하는 경우 명령은 원격 세션에서 암시적으로 실행됩니다. 이 기능을 사용하면 로컬 세션에서 원격 컴퓨터를 관리할 수 있습니다.

또한 Windows PowerShell 3.0부터 CIM(일반 정보 모델) 모듈을 사용하고 Get-ModuleImport-Module 가져올 수 있습니다. CIM 모듈은 CDXML(Cmdlet 정의 XML) 파일에서 cmdlet을 정의합니다. 이 기능을 사용하면 C++로 작성된 것과 같이 관리되지 않는 코드 어셈블리에서 구현되는 cmdlet을 사용할 수 있습니다.

암시적 원격을 사용하여 PowerShell 원격을 사용하도록 설정된 원격 컴퓨터를 관리할 수 있습니다. 원격 컴퓨터에서 PSSession을 만든 다음 PSSession 매개 변수 Get-Module 를 사용하여 원격 세션에서 PowerShell 모듈을 가져옵니다. 원격 세션에서 모듈을 가져올 때 가져온 명령은 원격 컴퓨터의 세션에서 실행됩니다.

비슷한 전략을 사용하여 PowerShell 원격을 사용하도록 설정하지 않은 컴퓨터를 관리할 수 있습니다. 여기에는 Windows 운영 체제를 실행하지 않는 컴퓨터와 PowerShell이 있지만 PowerShell 원격을 사용하도록 설정하지 않은 컴퓨터가 포함됩니다.

먼저 원격 컴퓨터에서 CIM 세션을 만듭니다. CIM 세션은 원격 컴퓨터의 WMI(Windows Management Instrumentation)에 대한 연결입니다. 그런 다음 CIM 세션에서 CIM 모듈을 가져오는 데 CIMSession 매개 변수 Get-Module 를 사용합니다. cmdlet을 사용하여 CIM 모듈을 Import-Module 가져온 다음 가져온 명령을 실행하는 경우 명령은 원격 컴퓨터에서 암시적으로 실행됩니다. 이 WMI 및 CIM 전략을 사용하여 원격 컴퓨터를 관리할 수 있습니다.

예제

예제 1: 현재 세션으로 가져온 모듈 가져오기

Get-Module

이 명령은 현재 세션으로 가져온 모듈을 가져옵니다.

예제 2: 설치된 모듈 및 사용 가능한 모듈 가져오기

Get-Module -ListAvailable

이 명령은 컴퓨터에 설치된 모듈을 가져오고 현재 세션으로 가져올 수 있습니다.

Get-Module 는 $env:PSModulePath 환경 변수로 지정된 경로에서 사용 가능한 모듈을 찾습니다. PSModulePath에 대한 자세한 내용은 about_Modulesabout_Environment_Variables 참조하세요.

예제 3: 내보낸 모든 파일 가져오기

Get-Module -ListAvailable -All

이 명령은 사용 가능한 모든 모듈에 대해 내보낸 모든 파일을 가져옵니다.

예제 4: 정규화된 이름으로 모듈 가져오기

$FullyQualifiedName = @{ModuleName="Microsoft.PowerShell.Management";ModuleVersion="3.1.0.0"}
Get-Module -FullyQualifiedName $FullyQualifiedName | Format-Table -Property Name,Version

Name                             Version
----                             -------
Microsoft.PowerShell.Management  3.1.0.0

이 예제에서는 FullyQualifiedName 매개 변수를 사용하여 모듈의 정규화된 이름을 지정하여 Microsoft.PowerShell.Management 모듈을 가져옵니다. 그런 다음 이 명령은 결과를 cmdlet으로 Format-Table 파이프하여 이름버전을 열 머리글로 사용하여 결과의 형식을 테이블로 지정합니다.

모듈의 정규화된 이름에서 ModuleVersion은 최소 버전으로 작동합니다. 따라서 이 예제에서는 버전 3.1.0.0 이상의 Microsoft.PowerShell.Management 모듈과 일치합니다.

예제 5: 모듈의 속성 가져오기

Get-Module | Get-Member -MemberType Property | Format-Table Name

Name
----
AccessMode
Author
ClrVersion
CompanyName
Copyright
Definition
Description
DotNetFrameworkVersion
ExportedAliases
ExportedCmdlets
ExportedCommands
ExportedFormatFiles
ExportedFunctions
ExportedTypeFiles
ExportedVariables
ExportedWorkflows
FileList
Guid
HelpInfoUri
LogPipelineExecutionDetails
ModuleBase
ModuleList
ModuleType
Name
NestedModules
OnRemove
Path
PowerShellHostName
PowerShellHostVersion
PowerShellVersion
PrivateData
ProcessorArchitecture
RequiredAssemblies
RequiredModules
RootModule
Scripts
SessionState
Version

이 명령은 반환되는 PSModuleInfo 개체 Get-Module 의 속성을 가져옵니다. 각 모듈 파일에 대해 하나의 개체가 있습니다.

속성을 사용하여 모듈 개체의 서식을 지정하고 필터링할 수 있습니다. 속성에 대한 자세한 내용은 PSModuleInfo 속성을 참조 하세요.

출력에는 Windows PowerShell 3.0에서 도입된 Author 및 CompanyName같은 새 속성이 포함됩니다.

예제 6: 모든 모듈을 이름으로 그룹화

Get-Module -ListAvailable -All | Format-Table -Property Name, Moduletype, Path -Groupby Name

Name: AppLocker

Name      ModuleType Path
----      ---------- ----
AppLocker   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AppLocker\AppLocker.psd1


   Name: Appx

Name ModuleType Path
---- ---------- ----
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\en-US\Appx.psd1
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psd1
Appx     Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psm1


   Name: BestPractices

Name          ModuleType Path
----          ---------- ----
BestPractices   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPractices.psd1


   Name: BitsTransfer

Name         ModuleType Path
----         ---------- ----
BitsTransfer   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1

이 명령은 가져오고 사용할 수 있는 모든 모듈 파일을 가져온 다음 모듈 이름으로 그룹화합니다. 이렇게 하면 각 스크립트가 내보내는 모듈 파일을 볼 수 있습니다.

예제 7: 모듈 매니페스트의 내용 표시

이러한 명령은 Windows PowerShell BitsTransfer 모듈에 대한 모듈 매니페스트의 내용을 표시합니다.

모듈에는 매니페스트 파일이 필요하지 않습니다. 매니페스트 파일이 있는 경우 매니페스트 파일은 버전 번호를 포함하기만 하면 됩니다. 그러나 매니페스트 파일에서 모듈, 해당 모듈의 요구 사항 및 내용에 대한 유용한 정보를 제공하는 경우도 많습니다.

# First command
$m = Get-Module -list -Name BitsTransfer

# Second command
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"
}

첫 번째 명령은 BitsTransfer 모듈을 나타내는 PSModuleInfo 개체를 가져옵니다. 변수에 개체를 $m 저장합니다.

두 번째 명령은 cmdlet을 Get-Content 사용하여 지정된 경로에서 매니페스트 파일의 콘텐츠를 가져옵니다. 점 표기법을 사용하여 개체의 Path 속성에 저장된 매니페스트 파일의 경로를 가져옵니다. 출력에는 모듈 매니페스트의 내용이 표시됩니다.

예제 8: 모듈 디렉터리에 파일 나열

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

이 명령은 모듈의 디렉터리에 있는 파일을 나열합니다. 이는 모듈을 가져오기 전에 모듈에 있는 항목을 확인하는 또 다른 방법입니다. 일부 모듈에는 모듈에 대해 설명하는 추가 정보 파일이나 도움말 파일이 있을 수 있습니다.

예제 9: 컴퓨터에 설치된 모듈 가져오기

$s = New-PSSession -ComputerName Server01

Get-Module -PSSession $s -ListAvailable

이러한 명령은 Server01 컴퓨터에 설치된 모듈을 가져옵니다.

첫 번째 명령은 cmdlet을 New-PSSession 사용하여 Server01 컴퓨터에서 PSSession을 만듭니다. 이 명령은 PSSession을 변수에 $s 저장합니다.

두 번째 명령은 PSSession 및 ListAvailable 매개 변수 Get-Module 를 사용하여 PSSession모듈을 변수에 $s가져옵니다.

다른 세션에서 cmdlet Import-Module 으로 모듈을 파이프하는 Import-Module 경우 암시적 원격 기능을 사용하여 모듈을 현재 세션으로 가져옵니다. 이는 cmdlet을 Import-PSSession 사용하는 것과 같습니다. 현재 세션의 모듈에서 cmdlet을 사용할 수 있지만 이러한 cmdlet을 사용하는 명령은 실제로 원격 세션을 실행합니다. 자세한 내용은 Import-ModuleImport-PSSession를 참조하세요.

예제 10: Windows 운영 체제를 실행하지 않는 컴퓨터 관리

이 예제의 명령을 사용하면 Windows 운영 체제를 실행하지 않는 원격 컴퓨터의 스토리지 시스템을 관리할 수 있습니다. 이 예제에서는 컴퓨터 관리자가 모듈 검색 WMI 공급자를 설치했기 때문에 CIM 명령은 공급자를 위해 설계된 기본값을 사용할 수 있습니다.

$cs = New-CimSession -ComputerName RSDGF03
Get-Module -CimSession $cs -Name Storage | Import-Module
Get-Command Get-Disk

CommandType     Name                  ModuleName
-----------     ----                  ----------
Function        Get-Disk              Storage

Get-Disk

Number Friendly Name              OperationalStatus          Total Size Partition Style
------ -------------              -----------------          ---------- ---------------
0      Virtual HD ATA Device      Online                          40 GB MBR

첫 번째 명령은 cmdlet을 New-CimSession 사용하여 RSDGF03 원격 컴퓨터에서 세션을 만듭니다. 세션은 원격 컴퓨터의 WMI에 연결됩니다. 이 명령은 CIM 세션을 변수에 $cs 저장합니다.

두 번째 명령은 변수의 CIM 세션을 $cs 사용하여 RSDGF03 컴퓨터에서 명령을 실행 Get-Module 합니다. 이 명령은 Name 매개 변수를 사용하여 스토리지 모듈을 지정합니다. 이 명령은 파이프라인 연산자(|)를 사용하여 스토리지 모듈을 Import-Module cmdlet으로 보내 로컬 세션으로 가져옵니다.

세 번째 명령은 Storage 모듈의 Get-CommandGet-Disk 명령에서 cmdlet을 실행합니다. CIM 모듈을 로컬 세션으로 가져오면 PowerShell은 CIM 모듈을 나타내는 CDXML 파일을 PowerShell 스크립트로 변환합니다. 이 파일은 로컬 세션에 함수로 표시됩니다.

네 번째 명령은 명령을 실행합니다 Get-Disk . 명령은 로컬 세션에 입력되지만 가져온 원격 컴퓨터에서 암시적으로 실행됩니다. 이 명령은 원격 컴퓨터에서 개체를 가져오고 로컬 세션으로 반환합니다.

매개 변수

-All

이 cmdlet은 중첩된 모듈, 매니페스트() 파일, 스크립트 모듈() 파일 및 이진 모듈(.psd1.psm1.dll) 파일을 포함하여 각 모듈 폴더의 모든 모듈을 가져옵니다. 이 매개 변수가 Get-Module 없으면 각 모듈 폴더의 기본 모듈만 가져옵니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimNamespace

CIM 모듈을 노출하는 대체 CIM 공급자의 네임스페이스를 지정합니다. 기본값은 모듈 검색 WMI 공급자의 네임스페이스입니다.

이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터 및 디바이스에서 CIM 모듈을 가져옵니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimResourceUri

CIM 모듈의 대체 위치를 지정합니다. 기본값은 원격 컴퓨터에서 모듈 검색 WMI 공급자의 리소스 URI입니다.

이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터 및 디바이스에서 CIM 모듈을 가져옵니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

원격 컴퓨터에서 CIM 세션을 지정합니다. CIM 세션이 포함된 변수 또는 GET-CimSession 명령과 같이 CIM 세션을 가져오는 명령을 입력합니다.

Get-Module 는 CIM 세션 연결을 사용하여 원격 컴퓨터에서 모듈을 가져옵니다. cmdlet을 사용하여 Import-Module 모듈을 가져오고 현재 세션의 가져온 모듈에서 명령을 사용하는 경우 명령은 실제로 원격 컴퓨터에서 실행됩니다.

이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터와 디바이스 및 PowerShell이 있지만 PowerShell 원격을 사용하도록 설정하지 않은 컴퓨터에서 모듈을 가져올 수 있습니다.

CimSession 매개 변수는 CIMSession모든 모듈을 가져옵니다. 그러나 CIM 기반 및 CMDLET 정의 XML(CDXML) 기반 모듈만 가져올 수 있습니다.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedName

값은 모듈 이름, 전체 모듈 사양 또는 모듈 파일 경로일 수 있습니다.

값이 경로인 경우 경로는 정규화되거나 상대적일 수 있습니다. 상대 경로는 using 문을 포함하는 스크립트를 기준으로 확인됩니다.

값이 이름 또는 모듈 사양인 경우 PowerShell은 PSModulePath에서 지정된 모듈을 검색합니다.

모듈 사양은 다음 키가 있는 해시 테이블입니다.

  • ModuleName - 필수 모듈 이름을 지정합니다.
  • GUID - 선택 사항 모듈의 GUID를 지정합니다.
  • 또한 아래 세 가지 키 중 하나 이상을 지정해야 합니다 .
    • ModuleVersion - 모듈의 허용 가능한 최소 버전을 지정합니다.
    • MaximumVersion - 모듈의 허용되는 최대 버전을 지정합니다.
    • RequiredVersion - 모듈의 정확한 필수 버전을 지정합니다. 다른 버전 키에는 사용할 수 없습니다.

Name 매개 변수와 동일한 명령에서 FullyQualifiedName 매개 변수를 지정할 수 없습니다.

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ListAvailable

이 cmdlet은 설치된 모든 모듈을 가져옵니다. Get-Module는 PSModulePath 환경 변수에 나열된 경로의 모듈을 가져옵니다. 이 매개 변수 Get-Module 가 없으면 PSModulePath 환경 변수에 나열되고 현재 세션에 로드된 모듈만 가져옵니다. ListAvailable은 해당 모듈이 현재 세션에서 로드되더라도 PSModulePath 환경 변수에서 찾을 수 없는 모듈에 대한 정보를 반환하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

이 cmdlet이 가져오는 모듈의 이름 또는 이름 패턴을 지정합니다. 와일드카드 문자를 사용할 수 있습니다. 이름을 .에 파이프할 Get-Module수도 있습니다. Name 매개 변수와 동일한 명령에서 FullyQualifiedName 매개 변수를 지정할 수 없습니다.

이름은 모듈 GUID를 값으로 사용할 수 없습니다. GUID를 지정하여 모듈을 반환하려면 대신 FullyQualifiedName을 사용합니다.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-PSEdition

지정된 버전의 PowerShell을 지원하는 모듈을 가져옵니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Desktop
  • Core

cmdlet은 Get-Module 지정된 값에 대해 PSModuleInfo 개체의 CompatiblePSEditions 속성을 검사 설정한 모듈만 반환합니다.

참고 항목

  • Desktop Edition: .NET Framework를 기반으로 구축되며 Server Core 및 Windows Desktop과 같은 전체 버전의 Windows에서 실행되는 PowerShell 버전을 대상 지정하는 스크립트 및 모듈과 호환성을 제공합니다.
  • Core Edition: .NET Framework를 기반으로 구축되며 Nano 서버 및 Windows IoT와 같은 축소된 버전의 Windows에서 실행되는 PowerShell 버전을 대상 지정하는 스크립트 및 모듈과 호환성을 제공합니다.
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PSSession

지정된 PSSession(사용자 관리 PowerShell 세션)의 모듈을 가져옵니다. 세션이 포함된 변수, 세션(예: Get-PSSession 명령)을 가져오는 명령 또는 명령과 같이 New-PSSession 세션을 만드는 명령을 입력합니다.

세션이 원격 컴퓨터에 연결된 경우 ListAvailable 매개 변수를 지정해야 합니다.

Get-Module PSSession 매개 변수를 사용하는 명령은 cmdlet을 Invoke-Command 사용하여 PSSession에서 명령을 실행하는 Get-Module -ListAvailable 것과 같습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Type:PSSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Refresh

이 cmdlet이 설치된 명령의 캐시를 새로 고친다는 것을 나타냅니다. 명령 캐시는 세션이 시작될 때 만들어집니다. 이를 통해 cmdlet은 Get-Command 세션으로 가져오지 않은 모듈에서 명령을 가져올 수 있습니다.

이 매개 변수는 세션이 시작된 이후 모듈의 내용이 변경된 개발 및 테스트 시나리오를 위해 설계되었습니다.

명령에서 Refresh 매개 변수를 지정할 때 ListAvailable을 지정해야 합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipEditionCheck

CompatiblePSEditions 필드의 검사 건너뜁니다.

기본적으로 CompatiblePSEditions %windir%\System32\WindowsPowerShell\v1.0\Modules 필드에 지정 Core하지 않는 디렉터리의 모듈을 생략합니다. Get-Module 이 스위치를 설정하면 PowerShell v6 이상과 호환되지 않는 Windows PowerShell 모듈 경로 아래의 모듈이 반환되도록 모듈이 포함되지 않습니다 Core .

macOS 및 Linux에서 이 매개 변수는 아무 작업도 수행하지 않습니다.

자세한 내용은 about_PowerShell_Editions 참조하세요.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

String

모듈 이름을 이 cmdlet으로 파이프할 수 있습니다.

출력

PSModuleInfo

이 cmdlet은 모듈을 나타내는 개체를 반환합니다. ListAvailable 매개 변수 Get-Module지정하면 속성과 메서드가 동일한 PSModuleInfo 개체의 형식인 ModuleInfoGrouping 개체를 반환합니다.

참고

PowerShell에는 다음 별칭이 포함됩니다.Get-Module

  • 모든 플랫폼:

    • gmo
  • Windows PowerShell 3.0부터 PowerShell에 포함된 핵심 명령은 모듈에 패키지됩니다. 스냅인(PSSnapin)인 Microsoft.PowerShell.Core는 예외입니다. 기본적으로 Microsoft.PowerShell.Core 스냅인만 세션에 추가됩니다. 모듈은 처음 사용할 때 자동으로 가져오며 cmdlet을 Import-Module 사용하여 가져올 수 있습니다.

  • Windows PowerShell 2.0 및 이후 버전의 PowerShell에서 이전 스타일 세션을 만드는 호스트 프로그램에서 핵심 명령은 스냅인(PSSnapins)으로 패키지됩니다. 예외는 항상 스냅인인 Microsoft.PowerShell.Core입니다. 또한 cmdlet에서 시작한 New-PSSession 것과 같은 원격 세션은 핵심 스냅인을 포함하는 이전 스타일의 세션입니다.

    핵심 모듈을 사용하여 최신 스타일 세션을 만드는 CreateDefault2 메서드에 대한 자세한 내용은 CreateDefault2 메서드를 참조하세요.

  • Get-ModulePSModulePath 환경 변수($env:PSModulePath)의 값에 저장된 위치에 있는 모듈만 가져옵니다. cmdlet은 Import-Module 다른 위치에서 모듈을 가져올 수 있지만 cmdlet을 Get-Module 사용하여 가져올 수는 없습니다.

  • 또한 PowerShell 3.0부터 모듈을 가져오기 전에 모듈에 대해 더 쉽게 알아볼 수 있도록 반환하는 Get-Module 개체에 새 속성이 추가되었습니다. 가져오기 전에 모든 속성이 채워집니다. 여기에는 모듈에서 내보내는 명령을 나열하는 ExportedCommands, ExportedCmdlet 및 ExportedFunctions 속성이 포함됩니다.

  • ListAvailable 매개 변수는 모듈 폴더의 이름과 기본 이름이 같은 파일이 하나 이상 포함된 올바른 형식의 모듈만 가져옵니다. 기본 이름은 파일 이름 확장명을 사용하지 않는 이름입니다. 이름이 다른 파일이 포함된 폴더는 모듈이 아닌 컨테이너로 간주됩니다.

    DLL 파일로 구현되지만 모듈 폴더에 묶이지 않은 모듈을 얻으려면 ListAvailableAll 매개 변수를 모두 지정합니다.

  • CIM 세션 기능을 사용하려면 원격 컴퓨터에 CIM(공용 정보 모델) 표준의 Microsoft 구현인 WS-Management 원격 및 WMI(Windows Management Instrumentation)가 있어야 합니다. 또한 컴퓨터에는 모듈 검색 WMI 공급자 또는 동일한 기본 기능이 있는 대체 WMI 공급자가 있어야 합니다.

    Windows 운영 체제를 실행하지 않는 컴퓨터와 PowerShell이 있지만 PowerShell 원격을 사용하도록 설정하지 않은 Windows 컴퓨터에서 CIM 세션 기능을 사용할 수 있습니다.

    CIM 매개 변수를 사용하여 PowerShell 원격을 사용하도록 설정한 컴퓨터에서 CIM 모듈을 가져올 수도 있습니다. 여기에는 로컬 컴퓨터가 포함됩니다. 로컬 컴퓨터에서 CIM 세션을 만들 때 PowerShell은 WMI 대신 DCOM을 사용하여 세션을 만듭니다.