Remove-Module

Menghapus modul dari sesi saat ini.

Sintaks

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>]

Deskripsi

cmdlet Remove-Module menghapus anggota modul, seperti cmdlet dan fungsi, dari sesi saat ini.

Jika modul menyertakan rakitan (.dll), semua anggota yang diimplementasikan oleh rakitan dihapus, tetapi rakitan tidak dibongkar.

Cmdlet ini tidak menghapus instalan modul atau menghapusnya dari komputer. Ini hanya memengaruhi sesi PowerShell saat ini.

Contoh

Contoh 1: Menghapus modul

Remove-Module -Name "BitsTransfer"

Perintah ini menghapus modul BitsTransfer dari sesi saat ini.

Contoh 2: Menghapus semua modul

Get-Module | Remove-Module

Perintah ini menghapus semua modul dari sesi saat ini.

Contoh 3: Menghapus modul dengan menggunakan alur

"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')".

Perintah ini menghapus modul BitsTransfer dan PSDiagnostics dari sesi saat ini.

Perintah menggunakan operator alur (|) untuk mengirim nama modul ke Remove-Module. Ini menggunakan parameter umum Verbose untuk mendapatkan informasi terperinci tentang anggota yang dihapus.

Pesan Verbose memperlihatkan item yang dihapus. Pesan berbeda karena modul BitsTransfer mencakup rakitan yang mengimplementasikan cmdlet dan modul berlapis dengan rakitannya sendiri. Modul PSDiagnostics menyertakan file skrip modul (.psm1) yang mengekspor fungsi.

Contoh 4: Menghapus modul dengan menggunakan ModuleInfo

$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a

Perintah ini menggunakan parameter ModuleInfo untuk menghapus modul BitsTransfer.

Parameter

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Force

Menunjukkan bahwa cmdlet ini menghapus modul baca-saja. Secara default, Remove-Module hanya menghapus modul baca-tulis.

Nilai ReadOnly ReadOnly dan ReadWrite disimpan di properti AccessMode modul.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-FullyQualifiedName

Menentukan nama modul yang sepenuhnya memenuhi syarat untuk dihapus.

Properti parameter

Jenis:

ModuleSpecification[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

FullyQualifiedName
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ModuleInfo

Menentukan objek modul yang akan dihapus. Masukkan variabel yang berisi objek modul (PSModuleInfo) atau perintah yang mendapatkan objek modul, seperti Get-Module perintah. Anda juga dapat menyalurkan objek modul ke Remove-Module.

Properti parameter

Jenis:

PSModuleInfo[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ModuleInfo
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Name

Menentukan nama modul yang akan dihapus. Karakter pengganti diizinkan. Anda juga dapat menyalurkan string nama ke Remove-Module.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

name
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

System.String, System.Management.Automation.PSModuleInfo

Anda dapat menyalurkan nama modul dan objek modul ke Remove-Module.

Output

None

Cmdlet ini tidak menghasilkan output apa pun.

Catatan

Saat menghapus modul, ada peristiwa pada modul yang akan dijalankan. Peristiwa ini memungkinkan modul untuk bereaksi saat dihapus dan melakukan beberapa pembersihan seperti membebaskan sumber daya. Contoh:

$OnRemoveScript = {

# melakukan pembersihan

$cachedSessions | Remove-PSSession

}

$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript

Untuk konsistensi penuh, mungkin juga berguna untuk bereaksi terhadap penutupan proses PowerShell:

Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Keluar) -Action $OnRemoveScript