Remove-Module
Supprime des modules de la session active.
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
L’applet Remove-Module
de commande supprime les membres d’un module, tels que les applets de commande et les fonctions, de la session active.
Si le module inclut un assembly (.dll
), tous les membres implémentés par l’assembly sont supprimés, mais l’assembly n’est pas déchargé.
Cette applet de commande ne désinstalle pas le module et ne le supprime pas non plus de l'ordinateur. Elle affecte uniquement la session PowerShell actuelle.
Exemples
Exemple 1 : Supprimer un module
Remove-Module -Name "BitsTransfer"
Cette commande supprime le module BitsTransfer de la session active.
Exemple 2 : Supprimer tous les modules
Get-Module | Remove-Module
Cette commande supprime tous les modules de la session active.
Exemple 3 : Supprimer des modules à l’aide du pipeline
"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')".
Cette commande supprime les modules BitsTransfer et PSDiagnostics de la session active.
La commande utilise un opérateur de pipeline (|
) pour envoyer les noms des modules à Remove-Module
. Elle utilise le paramètre commun Verbose pour obtenir des informations détaillées sur les membres qui sont supprimés.
Les messages détaillés affichent les éléments supprimés. Les messages diffèrent car le module BitsTransfer inclut un assembly qui implémente ses applets de commande et un module imbriqué avec son propre assembly. Le module PSDiagnostics inclut un fichier de script de module (.psm1
) qui exporte des fonctions.
Exemple 4 : Supprimer un module à l’aide de ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Cette commande utilise le paramètre ModuleInfo pour supprimer le module BitsTransfer.
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Indique que cette applet de commande supprime les modules en lecture seule. Par défaut, Remove-Module
supprime uniquement les modules en lecture-écriture.
Les valeurs ReadOnly et ReadWrite sont stockées dans la propriété AccessMode d'un module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FullyQualifiedName
Spécifie les noms complets des modules à supprimer.
Type: | ModuleSpecification[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ModuleInfo
Spécifie les objets de module à supprimer. Entrez une variable qui contient un objet de module (PSModuleInfo) ou une commande qui obtient un objet de module, tel qu’une Get-Module
commande. Vous pouvez également diriger des objets de module vers Remove-Module
.
Type: | PSModuleInfo[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Spécifie les noms des modules à supprimer. Les caractères génériques sont autorisés. Vous pouvez également canaliser des chaînes de noms vers Remove-Module
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
System.String, System.Management.Automation.PSModuleInfo
Vous pouvez diriger les noms de modules et les objets de module vers Remove-Module
.
Sorties
None
Cette applet de commande ne génère aucune sortie.
Notes
Lors de la suppression d’un module, il y a un événement sur le module qui s’exécute. Cet événement permet à un module de réagir à la suppression et d’effectuer un nettoyage tel que la libération de ressources. Exemple :
$OnRemoveScript = {
# effectuer le nettoyage
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
Pour une cohérence complète, il peut également être utile de réagir à la fermeture du processus PowerShell :
Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent] ::Exiting) -Action $OnRemoveScript