Freigeben über


Remove-Module

Entfernt Module aus der aktuellen Sitzung.

Syntax

Remove-Module
      [-Name] <String[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Module
      [-FullyQualifiedName] <ModuleSpecification[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Module
      [-ModuleInfo] <PSModuleInfo[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Beschreibung

Mit dem Cmdlet Remove-Module werden die Member eines Moduls, z. B. Cmdlets und Funktionen, aus der aktuellen Sitzung entfernt.

Wenn das Modul eine Assembly (.dll) enthält, werden alle Elemente, die von der Assembly implementiert werden, entfernt, die Assembly wird jedoch nicht entladen.

Dieses Cmdlet deinstalliert das Modul nicht oder löscht es nicht vom Computer. Es wirkt sich nur auf die aktuelle PowerShell-Sitzung aus.

Beispiele

Beispiel 1: Entfernen eines Moduls

Remove-Module -Name "BitsTransfer"

Mit diesem Befehl wird das BitsTransfer-Modul aus der aktuellen Sitzung entfernt.

Beispiel 2: Entfernen aller Module

Get-Module | Remove-Module

Mit diesem Befehl werden alle Module aus der aktuellen Sitzung entfernt.

Beispiel 3: Entfernen von Modulen mithilfe der 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')".

Mit diesem Befehl werden die Module BitsTransfer und PSDiagnostics aus der aktuellen Sitzung entfernt.

Der Befehl verwendet einen Pipelineoperator (|), um die Modulnamen an Remove-Module-zu senden. Es verwendet die Verbose allgemeinen Parameter, um detaillierte Informationen zu den entfernten Elementen zu erhalten.

Die Ausführliche Nachrichten zeigen die entfernten Elemente an. Die Nachrichten unterscheiden sich, da das BitsTransfer-Modul eine Assembly enthält, die ihre Cmdlets und ein geschachteltes Modul mit einer eigenen Assembly implementiert. Das PSDiagnostics-Modul enthält eine Modulskriptdatei (PSM1), die Funktionen exportiert.

Beispiel 4: Entfernen eines Moduls mithilfe von ModuleInfo

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

Dieser Befehl verwendet den parameter ModuleInfo, um das BitsTransfer-Modul zu entfernen.

Parameter

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Force

Gibt an, dass dieses Cmdlet schreibgeschützte Module entfernt. Standardmäßig entfernt Remove-Module nur Lese-/Schreibzugriffsmodule.

Die werte ReadOnly und ReadWrite werden in AccessMode--Eigenschaft eines Moduls gespeichert.

Typ:SwitchParameter
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-FullyQualifiedName

Gibt die vollqualifizierten Namen der zu entfernenden Module an.

Typ:ModuleSpecification[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ModuleInfo

Gibt die zu entfernenden Modulobjekte an. Geben Sie eine Variable ein, die ein Modulobjekt enthält (PSModuleInfo) oder einen Befehl, der ein Modulobjekt abruft, z. B. einen Get-Module-Befehl. Sie können Modulobjekte auch an Remove-Module-ver pipen.

Typ:PSModuleInfo[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt die Namen der zu entfernenden Module an. Wildcardzeichen sind zulässig. Sie können auch Zeichenfolgen an Remove-Moduleübergeben.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

System.String, System.Management.Automation.PSModuleInfo

Sie können Modulnamen und Modulobjekte an Remove-Module-pfeifen.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.