Remove-Module

Hiermee verwijdert u modules uit de huidige sessie.

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

Description

De Remove-Module cmdlet verwijdert de leden van een module, zoals cmdlets en functies, uit de huidige sessie.

Als de module een assembly (.dll) bevat, worden alle leden die door de assembly zijn geïmplementeerd, verwijderd, maar wordt de assembly niet verwijderd.

Met deze cmdlet wordt de module niet verwijderd of van de computer verwijderd. Dit is alleen van invloed op de huidige PowerShell-sessie.

Voorbeelden

Voorbeeld 1: Een module verwijderen

Remove-Module -Name "BitsTransfer"

Met deze opdracht verwijdert u de BitsTransfer-module uit de huidige sessie.

Voorbeeld 2: Alle modules verwijderen

Get-Module | Remove-Module

Met deze opdracht worden alle modules uit de huidige sessie verwijderd.

Voorbeeld 3: Modules verwijderen met behulp van de pijplijn

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

Met deze opdracht worden de BitsTransfer - en PSDiagnostics-modules uit de huidige sessie verwijderd.

De opdracht maakt gebruik van een pijplijnoperator (|) om de modulenamen naar Remove-Module. Er wordt gebruikgemaakt van de uitgebreide algemene parameter om gedetailleerde informatie te krijgen over de leden die worden verwijderd.

In de uitgebreide berichten worden de items weergegeven die zijn verwijderd. De berichten verschillen omdat de BitsTransfer-module een assembly bevat waarmee de cmdlets en een geneste module met een eigen assembly worden geïmplementeerd. De PSDiagnostics-module bevat een modulescriptbestand (.psm1) dat functies exporteert.

Voorbeeld 4: Een module verwijderen met behulp van ModuleInfo

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

Met deze opdracht wordt de parameter ModuleInfo gebruikt om de BitsTransfer-module te verwijderen.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Force

Geeft aan dat deze cmdlet alleen-lezenmodules verwijdert. Remove-Module Standaard worden alleen modules voor lezen/schrijven verwijderd.

De readOnly - en ReadWrite-waarden worden opgeslagen in de eigenschap AccessMode van een module.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-FullyQualifiedName

Hiermee geeft u de volledig gekwalificeerde namen van modules die moeten worden verwijderd.

Type:ModuleSpecification[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-ModuleInfo

Hiermee geeft u de moduleobjecten die moeten worden verwijderd. Voer een variabele in die een moduleobject (PSModuleInfo) bevat of een opdracht waarmee een moduleobject wordt opgehaald, zoals een Get-Module opdracht. U kunt moduleobjecten ook doorsluisen naar Remove-Module.

Type:PSModuleInfo[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Name

Hiermee geeft u de namen van modules die moeten worden verwijderd. Jokertekens zijn toegestaan. U kunt ook naamtekenreeksen doorsluisen naar Remove-Module.

Type:String[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:True
-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

System.String, System.Management.Automation.PSModuleInfo

U kunt modulenamen en moduleobjecten doorsluisen naar Remove-Module.

Uitvoerwaarden

None

Deze cmdlet genereert geen uitvoer.

Notities

Wanneer u een module verwijdert, is er een gebeurtenis in de module die wordt uitgevoerd. Met deze gebeurtenis kan een module reageren op het verwijderen en opschonen van resources, zoals het vrijmaken van resources. Voorbeeld:

$OnRemoveScript = {

# opschonen uitvoeren

$cachedSessions | Remove-PSSession

}

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

Voor volledige consistentie kan het ook handig zijn om te reageren op het sluiten van het PowerShell-proces:

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