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 assembly (.dll), semua anggota yang diimplementasikan oleh assembly dihapus, tetapi assembly 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 menggunakan ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Perintah ini menggunakan parameter ModuleInfo
Contoh 5: Menggunakan peristiwa OnRemove
Saat menghapus modul, ada pemicu peristiwa oleh modul yang memungkinkan modul bereaksi terhadap dihapus dan melakukan beberapa tugas pembersihan, seperti membebaskan sumber daya.
$OnRemoveScript = {
# perform cleanup
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
$registerEngineEventSplat = @{
SourceIdentifier = ([System.Management.Automation.PSEngineEvent]::Exiting)
Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat
Variabel $OnRemoveScript berisi blok skrip yang membersihkan sumber daya. Anda mendaftarkan blok skrip dengan menetapkannya ke $ExecutionContext.SessionState.Module.OnRemove. Anda juga dapat menggunakan Register-EngineEvent untuk menjalankan blok skrip saat sesi PowerShell berakhir.
Untuk modul berbasis skrip, Anda akan menambahkan kode ini ke file .psm1 atau memasukkannya ke dalam skrip startup yang tercantum di properti ScriptsToProcess manifes modul.
Parameter
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cf |
Set 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 |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-FullyQualifiedName
Nilainya dapat berupa nama modul, spesifikasi modul lengkap, atau jalur ke file modul.
Ketika nilai adalah jalur, jalur dapat sepenuhnya memenuhi syarat atau relatif. Jalur relatif diselesaikan relatif terhadap skrip yang berisi pernyataan penggunaan.
Saat nilainya adalah spesifikasi nama atau modul, PowerShell mencari PSModulePath untuk modul yang ditentukan.
Spesifikasi modul adalah hashtable yang memiliki kunci berikut.
-
ModuleName- Diperlukan Menentukan nama modul. -
GUID- Opsional Menentukan GUID modul. - Ini juga Diperlukan untuk menentukan setidaknya salah satu dari tiga kunci di bawah ini.
-
ModuleVersion- Menentukan versi minimum modul yang dapat diterima. -
MaximumVersion- Menentukan versi maksimum modul yang dapat diterima. -
RequiredVersion- Menentukan versi modul yang tepat dan diperlukan. Ini tidak dapat digunakan dengan kunci Versi lainnya.
-
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set 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 PSModuleInfo atau perintah yang mendapatkan objek modul, seperti perintah Get-Module. Anda juga dapat menyalurkan objek modul ke Remove-Module.
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set 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 |
Set 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 |
Set 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
String
Anda dapat menyalurkan nama modul ke cmdlet ini.
PSModuleInfo
Anda dapat menyalurkan objek modul ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
PowerShell menyertakan alias berikut untuk Remove-Module:
- Semua platform:
rmo
Saat Anda menghapus modul, ada peristiwa yang dipicu yang dapat digunakan untuk menjalankan beberapa kode pembersihan. Untuk detail selengkapnya, lihat contoh 5.