Remove-Module
Remove módulos da sessão atual.
Sintaxe
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
O cmdlet Remove-Module remove os membros de um módulo, como cmdlets e funções, da sessão atual.
Se o módulo incluir uma montagem (.dll), todos os membros implementados pela montagem serão removidos, mas a montagem não será descarregada.
Esse cmdlet não desinstala o módulo nem o exclui do computador. Afeta apenas a sessão atual do PowerShell.
Exemplos
Exemplo 1: remover um módulo
Remove-Module -Name "BitsTransfer"
Esse comando remove o módulo
Exemplo 2: remover todos os módulos
Get-Module | Remove-Module
Esse comando remove todos os módulos da sessão atual.
Exemplo 3: remover módulos usando o 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')".
Esse comando remove os módulos BitsTransfer e PSDiagnostics da sessão atual.
O comando usa um operador de pipeline (|) para enviar os nomes do módulo para Remove-Module. Ele usa o parâmetro verbose comum para obter informações detalhadas sobre os membros removidos.
As mensagens Detalhadas mostram os itens que são removidos. As mensagens são diferentes porque o módulo BitsTransfer inclui um assembly que implementa seus cmdlets e um módulo aninhado com seu próprio assembly. O módulo PSDiagnostics inclui um arquivo de script de módulo (.psm1) que exporta funções.
Exemplo 4: remover um módulo usando ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Esse comando usa o parâmetro ModuleInfo para remover o módulo BitsTransfer.
Parâmetros
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | cf |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Force
Indica que esse cmdlet remove módulos somente leitura. Por padrão, Remove-Module remove apenas módulos de leitura/gravação.
Os valores ReadOnly e ReadWrite são armazenados na propriedade AccessMode de um módulo.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FullyQualifiedName
Especifica os nomes totalmente qualificados dos módulos a serem removidos.
Propriedades do parâmetro
| Tipo: | |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
FullyQualifiedName
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ModuleInfo
Especifica os objetos do módulo a serem removidos. Insira uma variável que contenha um objeto de módulo (PSModuleInfo) ou um comando que obtenha um objeto de módulo, como um Get-Module comando. Você também pode redirecionar objetos de módulo para Remove-Module.
Propriedades do parâmetro
| Tipo: | |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ModuleInfo
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Name
Especifica os nomes dos módulos a serem removidos. Caracteres curinga são permitidos. Você também pode canalizar cadeias de caracteres de nomes para Remove-Module.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
name
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | wi |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
System.String, System.Management.Automation.PSModuleInfo
Você pode canalizar nomes de módulos e objetos de módulo para .Remove-Module
Saídas
None
Este cmdlet não gera saída.
Observações
Ao remover um módulo, há um evento no módulo que será executado. Esse evento permite que um módulo reaja ao ser removido e execute alguma limpeza, como liberar recursos. Exemplo:
$OnRemoveScript = {
# executar limpeza
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
Para consistência total, também pode ser útil reagir ao fechamento do processo do PowerShell:
Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Action $OnRemoveScript