Remove-Module
Odebere moduly z aktuální relace.
Syntaxe
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
Rutina Remove-Module odebere členy modulu, jako jsou rutiny a funkce, z aktuální relace.
Pokud modul obsahuje sestavení (.dll), odeberou se všechny členy implementované sestavením, ale sestavení se nenačte.
Tato rutina modul neodinstaluje ani neodstraní z počítače. Ovlivňuje pouze aktuální relaci PowerShellu.
Příklady
Příklad 1: Odebrání modulu
Remove-Module -Name "BitsTransfer"
Tento příkaz odebere modul BitsTransfer z aktuální relace.
Příklad 2: Odebrání všech modulů
Get-Module | Remove-Module
Tento příkaz odebere všechny moduly z aktuální relace.
Příklad 3: Odebrání modulů pomocí kanálu
"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')".
Tento příkaz odebere moduly BitsTransfer a PSDiagnostics z aktuální relace.
Příkaz používá operátor kanálu (|) k odeslání názvů modulů do Remove-Module. Používá Podrobný společný parametr k získání podrobných informací o odebraných členech.
Zprávy Podrobné zobrazují odebrané položky. Zprávy se liší, protože modul BitsTransfer obsahuje sestavení, které implementuje jeho rutiny a vnořený modul s vlastním sestavením. Modul PSDiagnostics obsahuje soubor skriptu modulu (.psm1), který exportuje funkce.
Příklad 4: Odebrání modulu pomocí ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Tento příkaz používá k odebrání modulu BitsTransfer parametr ModuleInfo.
Příklad 5: Použití události OnRemove
Když modul odeberete, modul aktivuje událost, která umožňuje, aby modul reagoval na odebrání a provedl určitou úlohu čištění, například uvolnění prostředků.
$OnRemoveScript = {
# perform cleanup
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
$registerEngineEventSplat = @{
SourceIdentifier = ([System.Management.Automation.PSEngineEvent]::Exiting)
Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat
Proměnná $OnRemoveScript obsahuje blok skriptu, který prostředky vyčistí. Blok skriptu zaregistrujete tak, že ho přiřadíte $ExecutionContext.SessionState.Module.OnRemove. Můžete také použít Register-EngineEvent k tomu, aby se blok skriptu spustil při ukončení relace PowerShellu.
Pro moduly založené na skriptech byste tento kód přidali do .psm1 souboru nebo ho umístili do spouštěcího skriptu, který je uveden v ScriptsToProcess vlastnost manifestu modulu.
Parametry
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Force
Označuje, že tato rutina odebere moduly jen pro čtení. Ve výchozím nastavení Remove-Module odebere pouze moduly pro čtení i zápis.
Hodnoty readWrite
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-FullyQualifiedName
Hodnota může být název modulu, úplná specifikace modulu nebo cesta k souboru modulu.
Pokud je hodnota cesta, může být cesta plně kvalifikovaná nebo relativní. Relativní cesta je vyřešena vzhledem ke skriptu, který obsahuje příkaz using.
Pokud je hodnota název nebo specifikace modulu, PowerShell prohledá PSModulePath zadaného modulu.
Specifikace modulu je hashovatelná tabulka s následujícími klíči.
-
ModuleName- Povinný Určuje název modulu. -
GUID- Volitelné Určuje identifikátor GUID modulu. - Je také Povinné zadat aspoň jeden z následujících tří klíčů.
-
ModuleVersion– Určuje minimální přijatelnou verzi modulu. -
MaximumVersion– Určuje maximální přijatelnou verzi modulu. -
RequiredVersion– Určuje přesnou požadovanou verzi modulu. Tuto možnost nelze použít s jinými klíči verze.
-
Vlastnosti parametru
| Typ: | |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
FullyQualifiedName
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ModuleInfo
Určuje objekty modulu, které se mají odebrat. Zadejte proměnnou, která obsahuje PSModuleInfo objekt nebo příkaz, který získá objekt modulu, například příkaz Get-Module. Objekty modulu můžete také pipetovat do Remove-Module.
Vlastnosti parametru
| Typ: | |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ModuleInfo
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Name
Určuje názvy modulů, které se mají odebrat. Jsou povoleny zástupné znaky. Můžete také názvové řetězce kanálu Remove-Module.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
name
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Cmdlet se nespustil.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Do tohoto cmdletu můžete připojit název modulu.
PSModuleInfo
Objekt modulu můžete do této rutiny převést.
Výstupy
None
Tento cmdlet nevrátí žádný výstup.
Poznámky
PowerShell obsahuje následující aliasy pro Remove-Module:
- Všechny platformy:
rmo
Když modul odeberete, aktivuje se událost, která se dá použít ke spuštění nějakého kódu čištění. Další podrobnosti najdete v příkladu 5.