다음을 통해 공유


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 읽기/쓰기 모듈만 제거합니다.

ReadOnlyReadWrite 값은 모듈의 AccessMode 속성에 저장됩니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-FullyQualifiedName

제거할 모듈의 정규화된 이름을 지정합니다.

매개 변수 속성

형식:

ModuleSpecification[]

Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

FullyQualifiedName
Position:0
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ModuleInfo

제거할 모듈 개체를 지정합니다. 모듈 개체(PSModuleInfo)를 포함하는 변수 또는 명령과 같은 모듈 개체를 가져오는 명령을 입력합니다.Get-Module 모듈 개체를 Remove-Module파이프할 수도 있습니다.

매개 변수 속성

형식:

PSModuleInfo[]

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