Remove-Module
Tar bort moduler från den aktuella sessionen.
Syntax
Remove-Module
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Module
[-FullyQualifiedName] <ModuleSpecification[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Module
[-ModuleInfo] <PSModuleInfo[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdleten Remove-Module tar bort medlemmarna i en modul, till exempel cmdletar och funktioner, från den aktuella sessionen.
Om modulen innehåller en sammansättning (.dll) tas alla medlemmar som implementeras av sammansättningen bort, men sammansättningen tas inte bort.
Den här cmdleten avinstallerar inte modulen eller tar bort den från datorn. Den påverkar endast den aktuella PowerShell-sessionen.
Exempel
Exempel 1: Ta bort en modul
Remove-Module -Name "BitsTransfer"
Det här kommandot tar bort BitsTransfer-modulen från den aktuella sessionen.
Exempel 2: Ta bort alla moduler
Get-Module | Remove-Module
Det här kommandot tar bort alla moduler från den aktuella sessionen.
Exempel 3: Ta bort moduler med hjälp av pipelinen
"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')".
Det här kommandot tar bort modulerna BitsTransfer och PSDiagnostics från den aktuella sessionen.
Kommandot använder en pipelineoperator (|) för att skicka modulnamnen till Remove-Module. Den använder den utförliga gemensamma parametern för att få detaljerad information om de medlemmar som tas bort.
Utförliga meddelanden visar de objekt som har tagits bort. Meddelandena skiljer sig eftersom BitsTransfer-modulen innehåller en sammansättning som implementerar dess cmdletar och en kapslad modul med en egen sammansättning. PSDiagnostics-modulen innehåller en modulskriptfil (.psm1) som exporterar funktioner.
Exempel 4: Ta bort en modul med hjälp av ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Det här kommandot använder parametern ModuleInfo för att ta bort BitsTransfer-modulen.
Parametrar
Uppmanar dig att bekräfta innan du kör cmdleten.
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger att den här cmdleten tar bort skrivskyddade moduler. Tar som standard Remove-Module bort endast skrivskyddade moduler.
Värdena ReadOnly och ReadWrite lagras i egenskapen AccessMode för en modul.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger de fullständigt kvalificerade namnen på moduler som ska tas bort.
| Type: | ModuleSpecification[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Anger de modulobjekt som ska tas bort. Ange en variabel som innehåller ett modulobjekt (PSModuleInfo) eller ett kommando som hämtar ett modulobjekt, till exempel ett Get-Module kommando. Du kan också skicka modulobjekt till Remove-Module.
| Type: | PSModuleInfo[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Anger namnen på moduler som ska tas bort. Jokertecken tillåts. Du kan också skicka namnsträngar till Remove-Module.
| Type: | String[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Indata
System.String, System.Management.Automation.PSModuleInfo
Du kan skicka modulnamn och modulobjekt till Remove-Module.
Utdata
None
Denna cmdlet genererar inga utdata.
Kommentarer
När du tar bort en modul finns det en händelse i modulen som ska köras. Den här händelsen gör att en modul kan reagera på att tas bort och utföra viss rensning, till exempel frigöra resurser. Exempel:
$OnRemoveScript = {
# utför rensning
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
För fullständig konsekvens kan det också vara användbart att reagera på stängningen av PowerShell-processen:
Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Action $OnRemoveScript
Relaterade länkar
Feedback
Skicka och visa feedback för