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 Remove-Module cmdlet remove os membros de um módulo, como cmdlets e funções, da sessão atual.
Se o módulo incluir um assembly (.dll), todos os membros implementados pelo assembly são removidos, mas o assembly não é descarregado.
Este cmdlet não desinstala o módulo nem o apaga do computador. Afeta apenas a sessão atual do PowerShell.
Exemplos
Exemplo 1: Remover um módulo
Remove-Module -Name "BitsTransfer"
Este comando remove o módulo BitsTransfer da sessão atual.
Exemplo 2: Remover todos os módulos
Get-Module | Remove-Module
Este 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')".
Este comando remove os módulos BitsTransfer e PSDiagnostics da sessão atual.
O comando utiliza um operador de pipeline (|) para enviar os nomes dos módulos para Remove-Module. Utiliza o parâmetro comum Verbose para obter informações detalhadas sobre os membros removidos.
As mensagens Verbose mostram os itens que foram removidos. As mensagens diferem porque o módulo BitsTransfer inclui um assembly que implementa os seus cmdlets e um módulo aninhado com o seu próprio assembly. O módulo PSDiagnostics inclui um ficheiro de script do módulo (.psm1) que exporta funções.
Exemplo 4: Remover um módulo usando o ModuleInfo
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Este comando utiliza o parâmetro ModuleInfo para remover o módulo BitsTransfer.
Exemplo 5: Usar o evento OnRemove
Ao remover um módulo, existe um evento desencadeado pelo módulo que permite ao módulo reagir à remoção e realizar alguma tarefa de limpeza, como libertar recursos.
$OnRemoveScript = {
# perform cleanup
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
$registerEngineEventSplat = @{
SourceIdentifier = ([System.Management.Automation.PSEngineEvent]::Exiting)
Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat
A $OnRemoveScript variável contém o bloco de scripts que limpa os recursos. Registas o bloco de script atribuindo-o a $ExecutionContext.SessionState.Module.OnRemove. Também podes usar Register-EngineEvent para que o bloco de scripts seja executado quando a sessão PowerShell termina.
Para módulos baseados em scripts, adicionarias este código ao .psm1 ficheiro ou colocavas-no num script de arranque listado na propriedade ScriptsToProcess do manifesto do módulo.
Parâmetros
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Force
Indica que este cmdlet remove módulos de apenas leitura. Por defeito, Remove-Module remove apenas módulos de leitura-escrita.
Os valores de Apenas Leitura e LeituraEscrita são armazenados na propriedade AccessMode de um módulo.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-FullyQualifiedName
O valor pode ser um nome de módulo, uma especificação de módulo completo ou um caminho para um arquivo de módulo.
Quando o valor é um caminho, o caminho pode ser totalmente qualificado ou relativo. Um caminho relativo é resolvido em relação ao script que contém a instrução using.
Quando o valor é um nome ou especificação de módulo, o PowerShell procura o módulo especificado PSModulePath.
Uma especificação de módulo é uma hashtable que tem as seguintes chaves.
-
ModuleName- Obrigatório Especifica o nome do módulo. -
GUID- Opcional Especifica o GUID do módulo. - Também é Obrigatório especificar pelo menos uma das três chaves abaixo.
-
ModuleVersion- Especifica uma versão mínima aceitável do módulo. -
MaximumVersion- Especifica a versão máxima aceitável do módulo. -
RequiredVersion- Especifica uma versão exata e necessária do módulo. Isso não pode ser usado com as outras chaves de versão.
-
Propriedades dos parâmetros
| Tipo: | |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FullyQualifiedName
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ModuleInfo
Especifica os objetos do módulo a remover. Introduza uma variável que contenha um objeto PSModuleInfo ou um comando que recebe um objeto módulo, como um Get-Module comando. Também podes canalizar objetos módulo para Remove-Module.
Propriedades dos parâmetros
| Tipo: | |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ModuleInfo
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Name
Especifica os nomes dos módulos a remover. Caracteres coringa são permitidos. Também pode nomear as cadeias para Remove-Module.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
name
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | 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
String
Podes canalizar um nome de módulo para este cmdlet.
PSModuleInfo
Podes canalizar um objeto módulo para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
O PowerShell inclui os seguintes aliases para Remove-Module:
- Todas as plataformas:
rmo
Quando removes um módulo, é ativado um evento que pode ser usado para executar algum código de limpeza. Para mais detalhes, veja o Exemplo 5.