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