Udostępnij przez


Remove-Module

Usuwa moduły z bieżącej sesji.

Składnia

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>]

Opis

Polecenie cmdlet Remove-Module usuwa elementy członkowskie modułu, takie jak polecenia cmdlet i funkcje, z bieżącej sesji.

Jeśli moduł zawiera zespół (.dll), wszystkie elementy, które są implementowane przez zespół, są usuwane, ale zespół nie jest zwalniany.

To polecenie cmdlet nie powoduje odinstalowania modułu ani usunięcia go z komputera. Ma to wpływ tylko na bieżącą sesję programu PowerShell.

Przykłady

Przykład 1. Usuwanie modułu

Remove-Module -Name "BitsTransfer"

To polecenie usuwa moduł BitsTransfer z bieżącej sesji.

Przykład 2: Usuwanie wszystkich modułów

Get-Module | Remove-Module

To polecenie usuwa wszystkie moduły z bieżącej sesji.

Przykład 3. Usuwanie modułów przy użyciu potoku

"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')".

To polecenie usuwa moduły BitsTransfer i PSDiagnostics z bieżącej sesji.

Polecenie używa operatora potoku (|) do wysyłania nazw modułów do Remove-Module. Używa on Verbose wspólnego parametru, aby uzyskać szczegółowe informacje o usuwanych elementach członkowskich.

Komunikaty pełne pokazują usunięte elementy. Komunikaty różnią się, ponieważ moduł BitsTransfer zawiera zestaw, który implementuje polecenia cmdlet i zagnieżdżony moduł z własnym zestawem. Moduł PSDiagnostics zawiera plik skryptu modułu (.psm1), który eksportuje funkcje.

Przykład 4. Usuwanie modułu przy użyciu funkcji ModuleInfo

$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a

To polecenie używa parametru ModuleInfo w celu usunięcia modułu BitsTransfer.

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

Wskazuje, że to polecenie cmdlet usuwa moduły tylko do odczytu. Domyślnie Remove-Module usuwa tylko moduły odczytu i zapisu.

Wartości ReadOnly i readWrite readWrite są przechowywane we właściwości AccessMode modułu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-FullyQualifiedName

Określa w pełni kwalifikowane nazwy modułów do usunięcia.

Właściwości parametru

Typ:

ModuleSpecification[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

FullyQualifiedName
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ModuleInfo

Określa obiekty modułu do usunięcia. Wprowadź zmienną, która zawiera obiekt modułu (PSModuleInfo) lub polecenie, które pobiera obiekt modułu, na przykład polecenie Get-Module . Możesz również przekazać potok obiektów modułu do Remove-Module.

Właściwości parametru

Typ:

PSModuleInfo[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ModuleInfo
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Name

Określa nazwy modułów do usunięcia. Symbole wieloznaczne są dozwolone. Możesz również przekazać ciągi nazw potoku do Remove-Module.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

name
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

System.String, System.Management.Automation.PSModuleInfo

Nazwy modułów i obiekty modułów można przesyłać potokami do Remove-Module.

Dane wyjściowe

None

To polecenie cmdlet nie generuje żadnych danych wyjściowych.

Uwagi

Podczas usuwania modułu w module pojawia się zdarzenie, które zostanie wykonane. To zdarzenie umożliwia modułowi zareagowanie na usunięcie i wykonanie pewnych porządków, takich jak zwolnienie zasobów. Przykład:

$OnRemoveScript = {

# Wykonaj czyszczenie

$cachedSessions | Remove-PSSession

}

$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript

Aby uzyskać pełną spójność, przydatne może być również zareagowanie na zamknięcie procesu programu PowerShell:

Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Action $OnRemoveScript