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