Remove-Module
Tar bort moduler från den aktuella sessionen.
Syntax
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
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. Det påverkar endast den aktuella PowerShell-sessionen.
Exempel
Exempel 1: Ta bort en modul
Remove-Module -Name "BitsTransfer"
Det här kommandot tar bort modulen BitsTransfer 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 BitsTransfer- och PSDiagnostics moduler 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.
I utförliga meddelanden visas de objekt som tas bort. Meddelandena skiljer sig eftersom BitsTransfer-modulen innehåller en sammansättning som implementerar sina 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 ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Det här kommandot använder parametern ModuleInfo för att ta bort BitsTransfer-modulen.
Exempel 5: Använda händelsen OnRemove
När du tar bort en modul finns det en händelseutlösare av modulen som gör att en modul kan reagera på att tas bort och utföra vissa rensningsuppgifter, till exempel frigöra resurser.
$OnRemoveScript = {
# perform cleanup
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
$registerEngineEventSplat = @{
SourceIdentifier = ([System.Management.Automation.PSEngineEvent]::Exiting)
Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat
Variabeln $OnRemoveScript innehåller skriptblocket som rensar resurserna. Du registrerar skriptblocket genom att tilldela det till $ExecutionContext.SessionState.Module.OnRemove. Du kan också använda Register-EngineEvent för att köra skriptblocket när PowerShell-sessionen avslutas.
För skriptbaserade moduler lägger du till den här koden i .psm1-filen eller placerar den i ett startskript som visas i egenskapen ScriptsToProcess för modulmanifestet.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | jfr |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Force
Anger att den här cmdleten tar bort skrivskyddade moduler. Som standard tar Remove-Module bara bort skrivskyddade moduler.
Värdena ReadOnly och ReadWrite lagras i egenskapen AccessMode i en modul.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-FullyQualifiedName
Värdet kan vara ett modulnamn, en fullständig modulspecifikation eller en sökväg till en modulfil.
När värdet är en sökväg kan sökvägen vara fullständigt kvalificerad eller relativ. En relativ sökväg matchas i förhållande till skriptet som innehåller instruktionen using.
När värdet är ett namn eller en modulspecifikation söker PowerShell efter den angivna modulen i PSModulePath-.
En modulspecifikation är en hashtable som har följande nycklar.
-
ModuleName- Obligatoriskt Anger modulnamnet. -
GUID- Valfri Anger GUID för modulen. - Det är också Krävs för att ange minst en av de tre nycklarna nedan.
-
ModuleVersion– Anger en lägsta godtagbar version av modulen. -
MaximumVersion– Anger den maximala godkända versionen av modulen. -
RequiredVersion– Anger en exakt, nödvändig version av modulen. Detta kan inte användas med de andra versionsnycklarna.
-
Parameteregenskaper
| Typ: | |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
FullyQualifiedName
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-ModuleInfo
Anger vilka modulobjekt som ska tas bort. Ange en variabel som innehåller ett PSModuleInfo- objekt eller ett kommando som hämtar ett modulobjekt, till exempel ett Get-Module kommando. Du kan också skicka modulobjekt till Remove-Module.
Parameteregenskaper
| Typ: | |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
ModuleInfo
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Name
Anger namnen på moduler som ska tas bort. Jokertecken tillåts. Du kan också skicka namnsträngar till Remove-Module.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
name
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-WhatIf
Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Wi |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
String
Du kan skicka ett modulnamn till den här cmdleten.
PSModuleInfo
Du kan skicka ett modulobjekt till den här cmdleten.
Utdata
None
Den här cmdleten returnerar inga utdata.
Kommentarer
PowerShell innehåller följande alias för Remove-Module:
- Alla plattformar:
rmo
När du tar bort en modul utlöses en händelse som kan användas för att köra lite rensningskod. Mer information finns i Exempel 5.