Import-Module
현재 세션에 모듈을 추가합니다.
구문
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-PSSession <PSSession>
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-CimSession <CimSession>
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
Import-Module
[-Name] <string[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <version>]
[-MaximumVersion <string>]
[-RequiredVersion <version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-FullyQualifiedName] <ModuleSpecification[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-FullyQualifiedName] <ModuleSpecification[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-PSSession <PSSession>
[<CommonParameters>]
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Assembly] <Assembly[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ModuleInfo] <PSModuleInfo[]>
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Description
Import-Module
cmdlet은 현재 세션에 하나 이상의 모듈을 추가합니다. PowerShell 3.0부터 설치된 모듈은 모듈의 명령 또는 공급자를 사용할 때 자동으로 세션으로 가져옵니다. 그러나 Import-Module
명령을 사용하여 모듈을 가져올 수 있습니다.
$PSModuleAutoloadingPreference
기본 설정 변수를 사용하여 자동 모듈 가져오기를 사용하지 않도록 설정할 수 있습니다.
$PSModuleAutoloadingPreference
변수에 대한 자세한 내용은 about_Preference_Variables참조하세요.
모듈은 PowerShell에서 사용할 수 있는 멤버를 포함하는 패키지입니다. 멤버에는 cmdlet, 공급자, 스크립트, 함수, 변수 및 기타 도구 및 파일이 포함됩니다. 모듈을 가져온 후 세션에서 모듈 멤버를 사용할 수 있습니다. 모듈에 대한 자세한 내용은 about_Modules참조하세요.
기본적으로 Import-Module
모듈에서 내보내는 모든 멤버를 가져오지만 별칭, 함수, Cmdlet및 변수 매개 변수를 사용하여 가져올 멤버를 제한할 수 있습니다.
NoClobber 매개 변수를 사용하면 Import-Module
현재 세션의 멤버와 이름이 같은 멤버를 가져올 수 없습니다.
Import-Module
모듈을 현재 세션으로만 가져옵니다. 모듈을 모든 새 세션으로 가져오려면 PowerShell 프로필에 Import-Module
명령을 추가합니다. 프로필에 대한 자세한 내용은 about_Profiles참조하세요.
원격 컴퓨터에서 PSSession 만들어 PowerShell 원격을 사용하도록 설정한 원격 Windows 컴퓨터를 관리할 수 있습니다. 그런 다음 Import-Module
PSSession 매개 변수를 사용하여 원격 컴퓨터에 설치된 모듈을 가져옵니다. 현재 세션에서 가져온 명령을 사용하는 경우 명령은 원격 컴퓨터에서 암시적으로 실행됩니다.
Windows PowerShell 3.0부터 Import-Module
사용하여 CIM(일반 정보 모델) 모듈을 가져올 수 있습니다. CIM 모듈은 CDXML(Cmdlet 정의 XML) 파일에서 cmdlet을 정의합니다. 이 기능을 사용하면 C++로 작성된 것과 같이 관리되지 않는 코드 어셈블리에서 구현되는 cmdlet을 사용할 수 있습니다.
Windows 운영 체제를 실행하지 않는 컴퓨터를 포함하여 PowerShell 원격을 사용하도록 설정하지 않은 원격 컴퓨터의 경우 Import-Module
CIMSession 매개 변수를 사용하여 원격 컴퓨터에서 CIM 모듈을 가져올 수 있습니다. 가져온 명령은 원격 컴퓨터에서 암시적으로 실행됩니다.
CIMSession 원격 컴퓨터의 WMI(Windows Management Instrumentation)에 대한 연결입니다.
예제
예제 1: 모듈의 멤버를 현재 세션으로 가져오기
이 예제에서는 PSDiagnostics 모듈의 멤버를 현재 세션으로 가져옵니다.
Import-Module -Name PSDiagnostics
예제 2: 모듈 경로에 지정된 모든 모듈 가져오기
다음은 $env:PSModulePath
환경 변수에 지정된 경로에서 사용 가능한 모든 모듈을 현재 세션으로 가져오는 예제입니다.
Get-Module -ListAvailable | Import-Module
예제 3: 여러 모듈의 멤버를 현재 세션으로 가져오기
이 예제에서는 PSDiagnostics 멤버와 Dism 모듈을 현재 세션으로 가져옵니다.
$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m
Get-Module
cmdlet은 PSDiagnostics 및 Dism 모듈을 가져오고 개체를 $m
변수에 저장합니다. 아직 세션으로 가져오지 않은 모듈을 가져오는 경우 ListAvailable 매개 변수가 필요합니다.
Import-Module
ModuleInfo 매개 변수는 모듈을 현재 세션으로 가져오는 데 사용됩니다.
예제 4: 경로에 지정된 모든 모듈 가져오기
이 예제에서는 명시적 경로를 사용하여 가져올 모듈을 식별합니다.
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-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.
자세한 정보 표시 매개 변수를 사용하면 Import-Module
모듈을 로드할 때 진행률을 보고합니다.
자세한 정보 표시, PassThru또는 AsCustomObject 매개 변수가 없으면 Import-Module
모듈을 가져올 때 출력을 생성하지 않습니다.
예제 5: 세션으로 가져온 모듈 멤버 제한
이 예제에서는 세션으로 가져올 모듈 멤버를 제한하는 방법과 이 명령이 세션에 미치는 영향을 보여줍니다. 함수 매개 변수는 모듈에서 가져온 멤버를 제한합니다. 별칭, 변수및 Cmdlet 매개 변수를 사용하여 모듈에서 가져오는 다른 멤버를 제한할 수도 있습니다.
Get-Module
cmdlet은 PSDiagnostics 모듈을 나타내는 개체를 가져옵니다.
ExportedCmdlets 속성에는 모듈이 내보내는 모든 cmdlet이 나열됩니다.
Import-Module PSDiagnostics -Function Disable-PSTrace, Enable-PSTrace
(Get-Module PSDiagnostics).ExportedCommands
Key Value
--- -----
Disable-PSTrace Disable-PSTrace
Disable-PSWSManCombinedTrace Disable-PSWSManCombinedTrace
Disable-WSManTrace Disable-WSManTrace
Enable-PSTrace Enable-PSTrace
Enable-PSWSManCombinedTrace Enable-PSWSManCombinedTrace
Enable-WSManTrace Enable-WSManTrace
Get-LogProperties Get-LogProperties
Set-LogProperties Set-LogProperties
Start-Trace Start-Trace
Stop-Trace Stop-Trace
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-PSTrace 6.1.0.0 PSDiagnostics
Function Enable-PSTrace 6.1.0.0 PSDiagnostics
Get-Command
cmdlet의 Module 매개 변수를 사용하면 PSDiagnostics 모듈에서 가져온 명령이 표시됩니다. 결과는 Disable-PSTrace
및 Enable-PSTrace
cmdlet만 가져온 것을 확인합니다.
예제 6: 모듈의 멤버 가져오기 및 접두사 추가
다음은 PSDiagnostics 모듈을 현재 세션으로 가져오고 멤버 이름에 접두사를 추가한 다음 접두사 멤버 이름을 표시하는 예제입니다.
Import-Module
접두사 매개 변수는 모듈에서 가져온 모든 멤버에 x
접두사를 추가합니다. 접두사는 현재 세션의 멤버에만 적용됩니다. 모듈은 변경되지 않습니다.
PassThru 매개 변수는 가져온 모듈을 나타내는 모듈 개체를 반환합니다.
Import-Module PSDiagnostics -Prefix x -PassThru
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 6.1.0.0 PSDiagnostics {Disable-xPSTrace, Disable-xPSWSManCombinedTrace, Disable-xW...
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-xPSTrace 6.1.0.0 PSDiagnostics
Function Disable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Disable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Enable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Get-xLogProperties 6.1.0.0 PSDiagnostics
Function Set-xLogProperties 6.1.0.0 PSDiagnostics
Function Start-xTrace 6.1.0.0 PSDiagnostics
Function Stop-xTrace 6.1.0.0 PSDiagnostics
Get-Command
모듈에서 가져온 멤버를 가져옵니다. 출력은 모듈 멤버의 접두사를 올바르게 표시합니다.
예제 7: 사용자 지정 개체 가져오기 및 사용
이 예제에서는 Import-Module
반환된 사용자 지정 개체를 가져와서 사용하는 방법을 보여 줍니다.
사용자 지정 개체에는 가져온 각 모듈 멤버를 나타내는 가상 멤버가 포함됩니다. 예를 들어 모듈의 cmdlet 및 함수는 사용자 지정 개체의 스크립트 메서드로 변환됩니다.
사용자 지정 개체는 스크립팅에 유용합니다. 가져온 여러 개체의 이름이 같은 경우에도 유용합니다. 개체의 스크립트 메서드를 사용하는 것은 모듈 이름을 포함하여 가져온 멤버의 정규화된 이름을 지정하는 것과 같습니다.
AsCustomObject 매개 변수는 스크립트 모듈을 가져올 때만 사용할 수 있습니다.
Get-Module
사용하여 사용 가능한 모듈 중 스크립트 모듈을 확인할 수 있습니다.
Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize
Name ModuleType
---- ----------
Show-Calendar Script
BitsTransfer Manifest
PSDiagnostics Manifest
TestCmdlets Script
...
$a = Import-Module -Name Show-Calendar -AsCustomObject -PassThru
$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();
$a."Show-Calendar"()
Show-Calendar
스크립트 모듈은 AsCustomObject 매개 변수를 사용하여 사용자 지정 개체를 요청하고 개체를 반환하는 PassThru 매개 변수를 사용하여 가져옵니다. 결과 사용자 지정 개체는 $a
변수에 저장됩니다.
$a
변수는 저장된 개체의 속성과 메서드를 표시하기 위해 Get-Member
cmdlet에 파이프됩니다. 출력에는 Show-Calendar
스크립트 메서드가 표시됩니다.
Show-Calendar
스크립트 메서드를 호출하려면 이름에 하이픈이 포함되어 있으므로 메서드 이름을 따옴표로 묶어야 합니다.
예제 8: 동일한 세션에 모듈 다시 설치
이 예제에서는 동일한 세션에 모듈을 다시 설치할 때 Import-Module
Force 매개 변수를 사용하는 방법을 보여줍니다.
Force 매개 변수는 로드된 모듈을 제거한 다음 다시 가져옵니다.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
첫 번째 명령은 PSDiagnostics 모듈을 가져옵니다. 두 번째 명령은 접두사 매개 변수를 사용하여 모듈을 다시 가져옵니다.
Force 매개 변수가 없으면 세션에는 각 PSDiagnostics cmdlet의 복사본 2개가 포함됩니다. 하나는 표준 이름과 접두사 이름의 복사본입니다.
예제 9: 가져온 명령으로 숨겨진 명령 실행
이 예제에서는 가져온 명령에 의해 숨겨진 명령을 실행하는 방법을 보여 줍니다.
TestModule 모듈에는 연도와 일을 반환하는 Get-Date
함수가 포함되어 있습니다.
Get-Date
Thursday, August 15, 2019 2:26:12 PM
Import-Module TestModule
Get-Date
19227
Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize
CommandType Name ModuleName
----------- ---- ----------
Function Get-Date TestModule
Cmdlet Get-Date Microsoft.PowerShell.Utility
Microsoft.PowerShell.Utility\Get-Date
Thursday, August 15, 2019 2:28:31 PM
첫 번째 Get-Date
cmdlet은 현재 날짜가 있는 DateTime 개체를 반환합니다.
TestModule 모듈을 가져온 후 Get-Date
연도와 요일을 반환합니다.
Get-Command
All 매개 변수를 사용하면 세션의 모든 Get-Date
명령이 표시됩니다. 결과에는 세션에 두 개의 Get-Date
명령, 즉 TestModule 모듈의 함수와 Microsoft.PowerShell.Utility 모듈의 cmdlet이 있음을 보여 줍니다.
함수가 cmdlet보다 우선하기 때문에 TestModule 모듈의 Get-Date
함수는 Get-Date
cmdlet 대신 실행됩니다. 원래 버전의 Get-Date
실행하려면 명령 이름을 모듈 이름으로 한정해야 합니다.
PowerShell의 명령 우선 순위에 대한 자세한 내용은 about_Command_Precedence참조하세요.
예제 10: 모듈의 최소 버전 가져오기
이 예제에서는 PowerShellGet 모듈을 가져옵니다.
Import-Module
MinimumVersion 매개 변수를 사용하여 모듈 버전 2.0.0
이상만 가져옵니다.
Import-Module -Name PowerShellGet -MinimumVersion 2.0.0
RequiredVersion 매개 변수를 사용하여 특정 버전의 모듈을 가져오거나 #Requires
키워드의 모듈 및 버전 매개 변수를 사용하여 스크립트에서 특정 버전의 모듈을 요구할 수도 있습니다.
예제 11: 정규화된 이름을 사용하여 가져오기
이 예제에서는 FullyQualifiedName사용하여 특정 버전의 모듈을 가져옵니다.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Name, Version
Name Version
---- -------
PowerShellGet 2.2.1
PowerShellGet 2.1.3
PowerShellGet 2.1.2
PowerShellGet 1.0.0.1
PS> Import-Module -FullyQualifiedName @{ModuleName = 'PowerShellGet'; ModuleVersion = '2.1.3'}
예제 12: 정규화된 경로를 사용하여 가져오기
이 예제에서는 정규화된 경로를 사용하여 특정 버전의 모듈을 가져옵니다.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Path
Path
----
C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1
C:\program files\powershell\6\Modules\PowerShellGet\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.1.2\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1
PS> Import-Module -Name 'C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1'
예제 13: 원격 컴퓨터에서 모듈 가져오기
이 예제에서는 Import-Module
cmdlet을 사용하여 원격 컴퓨터에서 모듈을 가져오는 방법을 보여줍니다.
이 명령은 PowerShell의 암시적 원격 기능을 사용합니다.
다른 세션에서 모듈을 가져올 때 현재 세션에서 cmdlet을 사용할 수 있습니다. 그러나 cmdlet을 사용하는 명령은 원격 세션에서 실행됩니다.
$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable -Name NetSecurity
ModuleType Name ExportedCommands
---------- ---- ----------------
Manifest NetSecurity {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...
Import-Module -PSSession $s -Name NetSecurity
Get-Command -Module NetSecurity -Name Get-*Firewall*
CommandType Name ModuleName
----------- ---- ----------
Function Get-NetFirewallAddressFilter NetSecurity
Function Get-NetFirewallApplicationFilter NetSecurity
Function Get-NetFirewallInterfaceFilter NetSecurity
Function Get-NetFirewallInterfaceTypeFilter NetSecurity
Function Get-NetFirewallPortFilter NetSecurity
Function Get-NetFirewallProfile NetSecurity
Function Get-NetFirewallRule NetSecurity
Function Get-NetFirewallSecurityFilter NetSecurity
Function Get-NetFirewallServiceFilter NetSecurity
Function Get-NetFirewallSetting NetSecurity
Get-NetFirewallRule -DisplayName "Windows Remote Management*" |
Format-Table -Property DisplayName, Name -AutoSize
DisplayName Name
----------- ----
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP
New-PSSession
Server01
컴퓨터에 원격 세션(PSSession)을 만듭니다.
PSSession$s
변수에 저장됩니다.
PSSession 매개 변수를 사용하여 Get-Module
실행하면 NetSecurity 모듈이 원격 컴퓨터에 설치되고 사용할 수 있음을 보여 줍니다. 이 명령은 Invoke-Command
cmdlet을 사용하여 원격 세션에서 Get-Module
명령을 실행하는 것과 같습니다. 예를 들어:
Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity
PSSession 매개 변수를 사용하여 Import-Module
실행하면 원격 컴퓨터의 NetSecurity 모듈이 현재 세션으로 가져옵니다.
Get-Command
cmdlet은 Get
시작하고 NetSecurity 모듈의 Firewall
포함하는 명령을 검색합니다. 출력은 모듈과 해당 cmdlet이 현재 세션으로 가져온 것을 확인합니다.
다음으로, Get-NetFirewallRule
cmdlet은 Server01
컴퓨터에서 Windows 원격 관리 방화벽 규칙을 가져옵니다. 이는 Invoke-Command
cmdlet을 사용하여 원격 세션에서 Get-NetFirewallRule
실행하는 것과 같습니다.
예제 14: Windows 운영 체제 없이 원격 컴퓨터의 스토리지 관리
이 예제에서는 컴퓨터 관리자가 모듈 검색 WMI 공급자를 설치했습니다. 이를 통해 공급자를 위해 설계된 CIM 명령을 사용할 수 있습니다.
New-CimSession
cmdlet은 RSDGF03 원격 컴퓨터에 세션을 만듭니다. 세션은 원격 컴퓨터의 WMI 서비스에 연결됩니다. CIM 세션은 $cs
변수에 저장됩니다.
Import-Module
$cs
CimSession 사용하여 RSDGF03
컴퓨터에서 Storage CIM 모듈을 가져옵니다.
Get-Command
cmdlet은 Storage 모듈의 Get-Disk
명령을 표시합니다. CIM 모듈을 로컬 세션으로 가져오면 PowerShell은 각 명령에 대한 CDXML 파일을 PowerShell 스크립트로 변환합니다. 이 파일은 로컬 세션에서 함수로 표시됩니다.
Get-Disk
로컬 세션에 입력되지만 cmdlet은 가져온 원격 컴퓨터에서 암시적으로 실행됩니다. 이 명령은 원격 컴퓨터에서 로컬 세션으로 개체를 반환합니다.
$cs = New-CimSession -ComputerName RSDGF03
Import-Module -CimSession $cs -Name Storage
# Importing a CIM module, converts the CDXML files for each command into
# PowerShell scripts. These appear as functions in the local session.
Get-Command Get-Disk
CommandType Name ModuleName
----------- ---- ----------
Function Get-Disk Storage
# Use implicit remoting to query disks on the remote computer from which the
# module was imported.
Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
0 Virtual HD ATA Device Online 40 GB MBR
매개 변수
-Alias
이 cmdlet이 모듈에서 현재 세션으로 가져오는 별칭을 지정합니다. 쉼표로 구분된 별칭 목록을 입력합니다. 와일드카드 문자가 허용됩니다.
일부 모듈은 모듈을 가져올 때 선택한 별칭을 세션으로 자동으로 내보냅니다. 이 매개 변수를 사용하면 내보낸 별칭 중에서 선택할 수 있습니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-ArgumentList
Import-Module
명령 중에 스크립트 모듈에 전달되는 인수 또는 매개 변수 값의 배열을 지정합니다. 이 매개 변수는 스크립트 모듈을 가져오는 경우에만 유효합니다.
별칭, 인수별칭으로 ArgumentList 매개 변수를 참조할 수도 있습니다. ArgumentList동작에 대한 자세한 내용은 about_Splatting참조하세요.
형식: | Object[] |
별칭: | Args |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-AsCustomObject
이 cmdlet은 가져온 모듈 멤버를 나타내는 멤버가 있는 사용자 지정 개체를 반환합니다. 이 매개 변수는 스크립트 모듈에만 유효합니다.
AsCustomObject 매개 변수를 사용하는 경우 Import-Module
모듈 멤버를 세션으로 가져온 다음 PSModuleInfo 개체 대신 PSCustomObject 개체를 반환합니다. 사용자 지정 개체를 변수에 저장하고 멤버 액세스 열거형을 사용하여 멤버를 호출할 수 있습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Assembly
어셈블리 개체의 배열을 지정합니다. 이 cmdlet은 지정된 어셈블리 개체에 구현된 cmdlet 및 공급자를 가져옵니다. 어셈블리 개체를 포함하는 변수 또는 어셈블리 개체를 만드는 명령을 입력합니다. 어셈블리 개체를 Import-Module
파이프할 수도 있습니다.
이 매개 변수를 사용하는 경우 지정된 어셈블리에 의해 구현된 cmdlet 및 공급자만 가져옵니다. 모듈에 다른 파일이 포함되어 있으면 가져오지 않으며 모듈의 중요한 멤버가 누락되었을 수 있습니다. 모듈을 디버깅 및 테스트하거나 모듈 작성자가 모듈을 사용하도록 지시받은 경우 이 매개 변수를 사용합니다.
형식: | Assembly[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-CimNamespace
CIM 모듈을 노출하는 대체 CIM 공급자의 네임스페이스를 지정합니다. 기본값은 모듈 검색 WMI 공급자의 네임스페이스입니다.
이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터 및 디바이스에서 CIM 모듈을 가져옵니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-CimResourceUri
CIM 모듈의 대체 위치를 지정합니다. 기본값은 원격 컴퓨터에서 모듈 검색 WMI 공급자의 리소스 URI입니다.
이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터 및 디바이스에서 CIM 모듈을 가져옵니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | Uri |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-CimSession
원격 컴퓨터에서 CIM 세션을 지정합니다. CIM 세션이 포함된 변수 또는 CIM 세션을 가져오는 명령(예: Get-CimSession 명령)을 입력합니다.
Import-Module
CIM 세션 연결을 사용하여 원격 컴퓨터에서 현재 세션으로 모듈을 가져옵니다. 현재 세션에서 가져온 모듈의 명령을 사용하는 경우 명령은 원격 컴퓨터에서 실행됩니다.
이 매개 변수를 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터 및 디바이스 및 PowerShell이 있지만 PowerShell 원격을 사용하도록 설정하지 않은 Windows 컴퓨터에서 모듈을 가져올 수 있습니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | CimSession |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Cmdlet
이 cmdlet이 모듈에서 현재 세션으로 가져오는 cmdlet 배열을 지정합니다. 와일드카드 문자가 허용됩니다.
일부 모듈은 모듈을 가져올 때 선택한 cmdlet을 세션으로 자동으로 내보냅니다. 이 매개 변수를 사용하면 내보낸 cmdlet 중에서 선택할 수 있습니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-DisableNameChecking
이 cmdlet은 이름에 승인되지 않은 동사 또는 금지 문자가 포함된 cmdlet 또는 함수를 가져올 때 경고하는 메시지를 표시하지 않음을 나타냅니다.
기본적으로 가져오는 모듈이 이름에 승인되지 않은 동사가 있는 cmdlet 또는 함수를 내보낼 때 PowerShell은 다음 경고 메시지를 표시합니다.
경고: 일부 가져온 명령 이름에는 승인되지 않은 동사가 포함되어 있어 검색할 수 없게 만들 수 있습니다. 자세한 내용은 Verbose 매개 변수를 사용하거나 Get-Verb 입력하여 승인된 동사 목록을 확인합니다.
이 메시지는 경고일 뿐입니다. 비준수 명령을 포함하여 전체 모듈을 계속 가져옵니다. 메시지가 모듈 사용자에게 표시되지만 모듈 작성자가 명명 문제를 해결해야 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Force
이 매개 변수를 사용하면 모듈이 현재 모듈 위에 로드되거나 다시 로드됩니다. 일부 모듈은 외부 어셈블리를 로드합니다. 최신 버전의 어셈블리를 로드하는 모듈을 가져오는 경우 가져오기가 실패합니다. Force 매개 변수는 오류를 재정의할 수 없습니다. 새 버전을 로드하려면 새 세션을 시작해야 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-FullyQualifiedName
값은 모듈 이름, 전체 모듈 사양 또는 모듈 파일 경로일 수 있습니다.
값이 경로인 경우 경로는 정규화되거나 상대적일 수 있습니다. 상대 경로는 using 문을 포함하는 스크립트를 기준으로 확인됩니다.
값이 이름 또는 모듈 사양인 경우 PowerShell은 지정된 모듈에 대한 PSModulePath 검색합니다.
모듈 사양은 다음 키가 있는 해시 테이블입니다.
-
ModuleName
- 필수 모듈 이름을 지정합니다. -
GUID
- 선택적 모듈의 GUID를 지정합니다. - 또한 아래 세 가지 키 중 하나 이상을 지정하는 데 필요한 .
-
ModuleVersion
- 모듈의 허용 가능한 최소 버전을 지정합니다. -
MaximumVersion
- 모듈의 허용되는 최대 버전을 지정합니다. -
RequiredVersion
- 모듈의 정확한 필수 버전을 지정합니다. 다른 버전 키에는 사용할 수 없습니다.
-
형식: | ModuleSpecification[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Function
이 cmdlet이 모듈에서 현재 세션으로 가져오는 함수 배열을 지정합니다. 와일드카드 문자가 허용됩니다. 일부 모듈은 모듈을 가져올 때 선택한 함수를 세션으로 자동으로 내보냅니다. 이 매개 변수를 사용하면 내보낸 함수 중에서 선택할 수 있습니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-Global
이 cmdlet은 세션의 모든 명령에서 사용할 수 있도록 모듈을 전역 세션 상태로 가져옵니다.
기본적으로 명령 프롬프트, 스크립트 파일 또는 scriptblock에서 Import-Module
cmdlet이 호출되면 모든 명령이 전역 세션 상태로 가져옵니다.
다른 모듈에서 호출될 때 Import-Module
cmdlet은 중첩된 모듈의 명령을 포함하여 모듈의 명령을 호출 모듈의 세션 상태로 가져옵니다.
팁
모듈 내에서 Import-Module
호출하지 않아야 합니다. 대신 대상 모듈을 부모 모듈의 매니페스트에서 중첩된 모듈로 선언합니다. 중첩된 모듈을 선언하면 종속성의 검색 가능성이 향상됩니다.
Global 매개 변수는 값이 GlobalScope 매개 변수와 동일합니다.
모듈에서 내보내는 명령을 제한하려면 스크립트 모듈에서 Export-ModuleMember
명령을 사용합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MaximumVersion
최대 버전을 지정합니다. 이 cmdlet은 지정된 값보다 작거나 같은 모듈의 버전만 가져옵니다. 해당 버전이 없으면 Import-Module
오류를 반환합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MinimumVersion
최소 버전을 지정합니다. 이 cmdlet은 지정된 값보다 크거나 같은 모듈의 버전만 가져옵니다.
MinimumVersion 매개 변수 이름 또는 해당 별칭, 버전사용합니다. 해당 버전이 없으면 Import-Module
오류가 발생합니다.
정확한 버전을 지정하려면 RequiredVersion 매개 변수를 사용합니다. #Requires 키워드의 모듈 및 버전 매개 변수를 사용하여 스크립트에서 특정 버전의 모듈을 요구할 수도 있습니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | Version |
별칭: | Version |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ModuleInfo
가져올 모듈 개체의 배열을 지정합니다. 모듈 개체가 포함된 변수 또는 모듈 개체를 가져오는 명령(예: Get-Module -ListAvailable
)을 입력합니다. 모듈 개체를 Import-Module
파이프할 수도 있습니다.
형식: | PSModuleInfo[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
가져올 모듈의 이름을 지정합니다. 모듈의 이름이나 모듈의 파일 이름(예: .psd1
, .psm1
, .dll
또는 .ps1
파일)을 입력합니다. 파일 경로는 선택 사항입니다. 와일드카드 문자는 허용되지 않습니다. 모듈 이름 및 파일 이름을 Import-Module
파이프할 수도 있습니다.
경로를 생략하면 Import-Module
$env:PSModulePath
환경 변수에 저장된 경로에서 모듈을 찾습니다.
가능한 경우 모듈 이름만 지정합니다. 파일 이름을 지정하면 해당 파일에 구현된 멤버만 가져옵니다. 모듈에 다른 파일이 포함되어 있으면 가져오지 않으며 모듈의 중요한 멤버가 누락되었을 수 있습니다.
메모
스크립트(.ps1
) 파일을 모듈로 가져올 수 있지만 스크립트 파일은 일반적으로 스크립트 모듈 파일(.psm1
) 파일처럼 구조화되지 않습니다. 스크립트 파일을 가져오면 모듈로 사용할 수 있다고 보장할 수 없습니다. 자세한 내용은 about_Modules참조하세요.
형식: | String[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
-NoClobber
현재 세션의 기존 명령과 이름이 같은 명령을 가져오지 못하도록 합니다. 기본적으로 Import-Module
내보낸 모든 모듈 명령을 가져옵니다.
이름이 같은 명령은 세션에서 명령을 숨기거나 바꿀 수 있습니다. 세션에서 명령 이름 충돌을 방지하려면 접두사 사용하거나 NoClobber 매개 변수를. 이름 충돌 및 명령 우선 순위에 대한 자세한 내용은 about_Modules 및 about_Command_Precedence"모듈 및 이름 충돌"을 참조하세요.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | SwitchParameter |
별칭: | NoOverwrite |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PassThru
가져온 모듈을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Prefix
이 cmdlet이 가져온 모듈 멤버의 이름에 명사에 추가하는 접두사를 지정합니다.
세션의 다른 멤버의 이름이 같을 때 발생할 수 있는 이름 충돌을 방지하려면 이 매개 변수를 사용합니다. 이 매개 변수는 모듈을 변경하지 않으며 모듈이 자체 용도로 가져오는 파일에는 영향을 주지 않습니다. 이러한 모듈을 중첩된 모듈이라고 합니다. 이 cmdlet은 현재 세션의 멤버 이름에만 영향을 줍니다.
예를 들어 접두사 UTC를 지정한 다음 Get-Date
cmdlet을 가져오는 경우 이 cmdlet은 세션에서 Get-UTCDate
알려져 있으며 원래 Get-Date
cmdlet과 혼동되지 않습니다.
이 매개 변수의 값은 기본 접두사를 지정하는 모듈의 DefaultCommandPrefix 속성보다 우선합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PSSession
이 cmdlet이 모듈을 현재 세션으로 가져오는 PowerShell 사용자 관리 세션(PSSession)을 지정합니다.
PSSession 포함하는 변수 또는 Get-PSSession
명령과 같은 PSSession가져오는 명령을 입력합니다.
다른 세션에서 현재 세션으로 모듈을 가져오는 경우 로컬 모듈의 cmdlet을 사용하는 것처럼 현재 세션의 모듈에서 cmdlet을 사용할 수 있습니다. 원격 cmdlet을 사용하는 명령은 원격 세션에서 실행되지만 원격 세부 정보는 PowerShell을 통해 백그라운드에서 관리됩니다.
이 매개 변수는 PowerShell의 암시적 원격 기능을 사용합니다.
Import-PSSession
cmdlet을 사용하여 세션에서 특정 모듈을 가져오는 것과 같습니다.
Import-Module
다른 세션에서 핵심 PowerShell 모듈을 가져올 수 없습니다. 핵심 PowerShell 모듈에는 Microsoft.PowerShell로 시작하는 이름이 있습니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | PSSession |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RequiredVersion
이 cmdlet에서 가져오는 모듈의 버전을 지정합니다. 버전이 설치되어 있지 않으면 Import-Module
오류가 발생합니다.
기본적으로 Import-Module
버전 번호를 확인하지 않고 모듈을 가져옵니다.
최소 버전을 지정하려면 MinimumVersion 매개 변수를 사용합니다. #Requires 키워드의 모듈 및 버전 매개 변수를 사용하여 스크립트에서 특정 버전의 모듈을 요구할 수도 있습니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
RequiredVersion 사용하여 Windows 운영 체제의 기존 릴리스에 포함된 모듈을 가져오는 스크립트는 Windows 운영 체제의 이후 릴리스에서 자동으로 실행되지 않습니다. 이는 Windows 운영 체제의 이후 릴리스에서 PowerShell 모듈 버전 번호가 Windows 운영 체제의 기존 릴리스에서 모듈 버전 번호보다 높기 때문입니다.
형식: | Version |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Scope
모듈을 가져올 범위를 지정합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 전역. 세션의 모든 명령에서 사용할 수 있습니다. Global 매개 변수와 동일합니다.
- 로컬 . 현재 범위에서만 사용할 수 있습니다.
기본적으로 명령 프롬프트, 스크립트 파일 또는 scriptblock에서 Import-Module
cmdlet이 호출되면 모든 명령이 전역 세션 상태로 가져옵니다.
-Scope Local
매개 변수를 사용하여 모듈 콘텐츠를 스크립트 또는 scriptblock 범위로 가져올 수 있습니다.
다른 모듈에서 호출될 때 Import-Module
cmdlet은 중첩된 모듈의 명령을 포함하여 모듈의 명령을 호출자의 세션 상태로 가져옵니다.
-Scope Global
또는 -Global
지정하면 이 cmdlet이 모듈을 전역 세션 상태로 가져와 세션의 모든 명령에서 사용할 수 있음을 나타냅니다.
Global 매개 변수는 값이 GlobalScope 매개 변수와 동일합니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | String |
허용되는 값: | Local, Global |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SkipEditionCheck
CompatiblePSEditions
필드에서 검사를 건너뜁니다.
해당 모듈이 CompatiblePSEditions
매니페스트 필드에 Core
지정하지 않는 경우 "$($env:windir)\System32\WindowsPowerShell\v1.0\Modules"
모듈 디렉터리에서 PowerShell Core로 모듈을 로드할 수 있습니다.
다른 경로에서 모듈을 가져올 때 검사가 수행되지 않으므로 이 스위치는 아무 작업도 수행하지 않습니다. Linux 및 macOS에서 이 스위치는 아무 작업도 수행하지 않습니다.
자세한 내용은 about_PowerShell_Editions참조하세요.
경고
Import-Module -SkipEditionCheck
모듈을 가져오지 못할 수 있습니다. 성공하더라도 호환되지 않는 API를 사용하려고 할 때 모듈에서 명령을 호출하면 나중에 실패할 수 있습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UseWindowsPowerShell
Windows PowerShell 호환성 기능을 사용하여 모듈을 로드합니다. 자세한 내용은 about_Windows_PowerShell_Compatibility 참조하세요.
형식: | SwitchParameter |
별칭: | UseWinPS |
Position: | Named |
Default value: | False |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Variable
이 cmdlet이 모듈에서 현재 세션으로 가져오는 변수 배열을 지정합니다. 변수 목록을 입력합니다. 와일드카드 문자가 허용됩니다.
일부 모듈은 모듈을 가져올 때 선택한 변수를 세션으로 자동으로 내보냅니다. 이 매개 변수를 사용하면 내보낸 변수 중에서 선택할 수 있습니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
입력
모듈 이름을 이 cmdlet으로 파이프할 수 있습니다.
모듈 개체를 이 cmdlet으로 파이프할 수 있습니다.
어셈블리 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
PassThru 매개 변수를 지정하면 cmdlet은 가져온 모듈을 나타내는 System.Management.Automation.PSModuleInfo 개체를 생성합니다.
AsCustomObject 지정하고 passThru 매개 변수를 함께 경우 cmdlet은 모듈을 나타내는 PSCustomObject 개체를 생성합니다.
참고
PowerShell에는 Import-Module
다음과 같은 별칭이 포함되어 있습니다.
모든 플랫폼:
ipmo
모듈을 가져오려면 먼저 로컬 컴퓨터에서 모듈에 액세스할 수 있어야 하며
PSModulePath
환경 변수에 포함되어야 합니다. 자세한 내용은 about_Modules참조하세요.PSSession 및 CIMSession 매개 변수를 사용하여 원격 컴퓨터에 설치된 모듈을 가져올 수도 있습니다. 그러나 이러한 모듈의 cmdlet을 사용하는 명령은 원격 컴퓨터의 원격 세션에서 실행됩니다.
이름이 같고 형식이 같은 멤버를 세션으로 가져오는 경우 PowerShell은 기본적으로 마지막으로 가져온 멤버를 사용합니다. 변수와 별칭이 대체되고 원본에 액세스할 수 없습니다. 함수, cmdlet 및 공급자는 새 멤버에 의해서만 숨깁니다. 명령 이름을 스냅인, 모듈 또는 함수 경로의 이름으로 한정하여 액세스할 수 있습니다.
모듈에서 가져온 명령에 대한 서식 데이터를 업데이트하려면
Update-FormatData
cmdlet을 사용합니다. 모듈의 서식 파일이 변경되면Update-FormatData
cmdlet을 사용하여 가져온 명령에 대한 서식 데이터를 업데이트합니다. 모듈을 다시 가져올 필요가 없습니다.Windows PowerShell 3.0부터 PowerShell과 함께 설치된 핵심 명령은 모듈에 패키지됩니다. Windows PowerShell 2.0 및 이후 버전의 PowerShell에서 이전 스타일 세션을 만드는 호스트 프로그램에서 핵심 명령은 스냅인(PSSnapins)으로 패키지됩니다. 예외는 항상 스냅인인 Microsoft.PowerShell.Core . 또한
New-PSSession
cmdlet에서 시작하는 것과 같은 원격 세션은 핵심 스냅인을 포함하는 이전 스타일의 세션입니다.핵심 모듈을 사용하여 최신 스타일의 세션을 만드는 CreateDefault2 메서드에 대한 자세한 내용은 CreateDefault2 메서드참조하세요.
Windows PowerShell 2.0에서는 ExportedCmdlets 및 NestedModules 속성 값과 같은 모듈 개체의 일부 속성 값은 모듈을 가져올 때까지 채워지지 않았습니다.
Windows PowerShell 3.0 이상과 호환되지 않는 혼합 모드 어셈블리가 포함된 모듈을 가져오려고 하면
Import-Module
다음과 같은 오류 메시지를 반환합니다.Import-Module: 혼합 모드 어셈블리는 런타임의 버전 'v2.0.50727'에 대해 빌드되며 추가 구성 정보 없이는 4.0 런타임에 로드할 수 없습니다.
이 오류는 Windows PowerShell 2.0용으로 설계된 모듈에 하나 이상의 혼합 모듈 어셈블리가 포함된 경우에 발생합니다. C++ 및 C#과 같은 관리 코드와 비관리 코드를 모두 포함하는 혼합 모듈 어셈블리입니다.
혼합 모드 어셈블리가 포함된 모듈을 가져오려면 다음 명령을 사용하여 Windows PowerShell 2.0을 시작한 다음
Import-Module
명령을 다시 시도합니다.PowerShell.exe -Version 2.0
CIM 세션 기능을 사용하려면 원격 컴퓨터에 ciM(공용 정보 모델) 표준의 Microsoft 구현인 WS-Management 원격 및 WMI(Windows Management Instrumentation)가 있어야 합니다. 또한 컴퓨터에는 모듈 검색 WMI 공급자 또는 동일한 기본 기능이 있는 대체 CIM 공급자가 있어야 합니다.
Windows 운영 체제를 실행하지 않는 컴퓨터와 PowerShell이 있지만 PowerShell 원격을 사용하도록 설정하지 않은 Windows 컴퓨터에서 CIM 세션 기능을 사용할 수 있습니다.
CIM 매개 변수를 사용하여 로컬 컴퓨터를 포함하여 PowerShell 원격을 사용하도록 설정한 컴퓨터에서 CIM 모듈을 가져올 수도 있습니다. 로컬 컴퓨터에서 CIM 세션을 만들 때 PowerShell은 WMI 대신 DCOM을 사용하여 세션을 만듭니다.
기본적으로
Import-Module
하위 범위에서 호출된 경우에도 전역 범위에서 모듈을 가져옵니다. 최상위 범위와 모든 하위 범위는 모듈의 내보낸 요소에 액세스할 수 있습니다.하위 범위에서
-Scope Local
해당 범위 및 모든 하위 범위로 가져오기를 제한합니다. 그러면 부모 범위에 가져온 멤버가 표시되지 않습니다.메모
Get-Module
현재 세션에 로드된 모든 모듈을 표시합니다. 여기에는 하위 범위에 로컬로 로드된 모듈이 포함됩니다.Get-Command -Module modulename
사용하여 현재 범위에서 로드되는 멤버를 확인합니다.Import-Module
모듈에서 클래스 및 열거형 정의를 로드하지 않습니다. 스크립트의 시작 부분에using module
문을 사용합니다. 클래스 및 열거형 정의를 포함하여 모듈을 가져옵니다. 자세한 내용은 about_Using참조하세요.스크립트 모듈을 개발하는 동안 코드를 변경한 다음 Force 매개 변수와 함께
Import-Module
사용하여 모듈의 새 버전을 로드하는 것이 일반적입니다. 이는 루트 모듈의 함수 변경에 대해서만 작동합니다.Import-Module
중첩된 모듈을 다시 로드하지 않습니다. 또한 업데이트된 클래스 또는 열거형을 로드할 수 있는 방법은 없습니다.중첩된 모듈에 정의된 업데이트된 모듈 멤버를 가져오려면
Remove-Module
사용하여 모듈을 제거한 다음 모듈을 다시 가져옵니다.모듈이
using
문과 함께 로드된 경우 새 세션을 시작하여 클래스 및 열거형에 대한 업데이트된 정의를 가져와야 합니다. PowerShell에서 정의되고using
문으로 가져온 클래스 및 열거형은 언로드할 수 없습니다.
관련 링크
PowerShell