Remove-Module
현재 세션에서 모듈을 제거합니다.
구문
name
Remove-Module
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FullyQualifiedName
Remove-Module
[-FullyQualifiedName] <ModuleSpecification[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ModuleInfo
Remove-Module
[-ModuleInfo] <PSModuleInfo[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Remove-Module cmdlet은 현재 세션에서 cmdlet 및 함수와 같은 모듈의 멤버를 제거합니다.
모듈에 어셈블리(.dll)가 포함된 경우 어셈블리에 의해 구현된 모든 멤버가 제거되지만 어셈블리는 언로드되지 않습니다.
이 cmdlet은 모듈을 제거하거나 컴퓨터에서 삭제하지 않습니다. 현재 PowerShell 세션에만 영향을 줍니다.
예제
예제 1: 모듈 제거
Remove-Module -Name "BitsTransfer"
이 명령은 현재 세션에서 BitsTransfer 모듈을 제거합니다.
예제 2: 모든 모듈 제거
Get-Module | Remove-Module
이 명령은 현재 세션에서 모든 모듈을 제거합니다.
예제 3: 파이프라인을 사용하여 모듈 제거
"FileTransfer", "PSDiagnostics" | Remove-Module -Verbose
VERBOSE: Performing operation "Remove-Module" on Target "filetransfer (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\filetransfer\filetransfer.psd1')".
VERBOSE: Performing operation "Remove-Module" on Target "Microsoft.BackgroundIntelligentTransfer.Management (Path: 'C:\Windows\assembly\GAC_MSIL\Microsoft.BackgroundIntelligentTransfer.Management\1.0.0.0__31bf3856ad364e35\Microsoft.BackgroundIntelligentTransfe
r.Management.dll')".
VERBOSE: Performing operation "Remove-Module" on Target "psdiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\psdiagnostics.psd1')".
VERBOSE: Removing imported function 'Start-Trace'.
VERBOSE: Removing imported function 'Stop-Trace'.
VERBOSE: Removing imported function 'Enable-WSManTrace'.
VERBOSE: Removing imported function 'Disable-WSManTrace'.
VERBOSE: Removing imported function 'Enable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Disable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Set-LogProperties'.
VERBOSE: Removing imported function 'Get-LogProperties'.
VERBOSE: Removing imported function 'Enable-PSTrace'.
VERBOSE: Removing imported function 'Disable-PSTrace'.
VERBOSE: Performing operation "Remove-Module" on Target "PSDiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\PSDiagnostics.psm1')".
이 명령은 BitsTransfer 제거하고 현재 세션에서 PSDiagnostics 모듈을.
이 명령은 파이프라인 연산자(|)를 사용하여 모듈 이름을 Remove-Module보냅니다.
자세한 정보 표시 공통 매개 변수를 사용하여 제거된 멤버에 대한 자세한 정보를 가져옵니다.
자세한 정보 표시 메시지는 제거된 항목을 표시합니다. BitsTransfer 모듈에는 해당 cmdlet을 구현하는 어셈블리와 자체 어셈블리가 있는 중첩된 모듈이 포함되어 있기 때문에 메시지가 다릅니다. PSDiagnostics 모듈에는 함수를 내보내는 모듈 스크립트 파일(.psm1)이 포함되어 있습니다.
예제 4: ModuleInfo를 사용하여 모듈 제거
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
이 명령은 ModuleInfo 매개 변수를 사용하여 BitsTransfer 모듈을 제거합니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | cf(cf) |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Force
이 cmdlet은 읽기 전용 모듈을 제거한다는 것을 나타냅니다. 기본적으로 Remove-Module 읽기/쓰기 모듈만 제거합니다.
ReadOnly 및 ReadWrite 값은 모듈의 AccessMode 속성에 저장됩니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-FullyQualifiedName
제거할 모듈의 정규화된 이름을 지정합니다.
매개 변수 속성
| 형식: | |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
FullyQualifiedName
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ModuleInfo
제거할 모듈 개체를 지정합니다. 모듈 개체(PSModuleInfo)를 포함하는 변수 또는 명령과 같은 모듈 개체를 가져오는 명령을 입력합니다.Get-Module 모듈 개체를 Remove-Module파이프할 수도 있습니다.
매개 변수 속성
| 형식: | |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ModuleInfo
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Name
제거할 모듈의 이름을 지정합니다. 와일드카드 문자가 허용됩니다. 이름 문자열을 Remove-Module파이프할 수도 있습니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
name
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 위스콘신 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
System.String, System.Management.Automation.PSModuleInfo
모듈 이름과 모듈 객체를 에 파이프 Remove-Module할 수 있습니다.
출력
None
이 cmdlet은 어떠한 출력도 생성하지 않습니다.
참고
모듈을 제거하면 모듈에 실행될 이벤트가 있습니다. 이 이벤트를 통해 모듈은 제거에 반응하고 리소스 확보와 같은 일부 정리를 수행할 수 있습니다. 예제:
$OnRemoveScript = {
# 정리 수행
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
완전한 일관성을 위해 PowerShell 프로세스 종료에 대응하는 것도 유용할 수 있습니다.
Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Action $OnRemoveScript