Compartilhar via


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 BitsTransfer da sessão atual.

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:

ModuleSpecification[]

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:

PSModuleInfo[]

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