Delen via


Remove-Module

Hiermee verwijdert u modules uit de huidige sessie.

Syntaxis

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

Met de Remove-Module-cmdlet worden de leden van een module, zoals cmdlets en functies, uit de huidige sessie verwijderd.

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

Met deze cmdlet wordt de module niet verwijderd of verwijderd van de computer. 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 module BitsTransfer 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 verwijdert u de modules BitsTransfer en PSDiagnostics modules uit de huidige sessie.

De opdracht maakt gebruik van een pijplijnoperator (|) om de modulenamen naar Remove-Modulete verzenden. Het maakt gebruik van de uitgebreide algemene parameter voor gedetailleerde informatie over de leden die worden verwijderd.

In de uitgebreide berichten worden de items weergegeven die worden 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 ModuleInfo

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

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

Voorbeeld 5: De onRemove-gebeurtenis gebruiken

Wanneer u een module verwijdert, is er een gebeurtenistrigger door de module waarmee een module kan reageren op het verwijderen en uitvoeren van een opschoontaak, zoals het vrijmaken van resources.

$OnRemoveScript = {
    # perform cleanup
    $cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript

$registerEngineEventSplat = @{
    SourceIdentifier = ([System.Management.Automation.PSEngineEvent]::Exiting)
    Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat

De $OnRemoveScript variabele bevat het scriptblok waarmee de resources worden opgeschoond. U registreert het scriptblok door het toe te wijzen aan $ExecutionContext.SessionState.Module.OnRemove. U kunt ook Register-EngineEvent gebruiken om het scriptblok uit te voeren wanneer de PowerShell-sessie wordt beëindigd.

Voor op scripts gebaseerde modules voegt u deze code toe aan het .psm1 bestand of plaatst u deze in een opstartscript dat wordt vermeld in de eigenschap ScriptsToProcess van het modulemanifest.

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Force

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

De waarden ReadOnly en ReadW rite worden opgeslagen in eigenschap AccessMode van een module.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-FullyQualifiedName

De waarde kan een modulenaam, een volledige modulespecificatie of een pad naar een modulebestand zijn.

Wanneer de waarde een pad is, kan het pad volledig of relatief zijn. Een relatief pad wordt omgezet ten opzichte van het script dat de using-instructie bevat.

Wanneer de waarde een naam of modulespecificatie is, zoekt PowerShell naar de PSModulePath- voor de opgegeven module.

Een modulespecificatie is een hashtabel met de volgende sleutels.

  • ModuleName - Vereist Geeft de modulenaam op.
  • GUID - Optionele Geeft de GUID van de module aan.
  • Het is ook vereist om ten minste een van de drie onderstaande sleutels op te geven.
    • ModuleVersion - Hiermee geeft u een minimaal acceptabele versie van de module op.
    • MaximumVersion - Hiermee geeft u de maximaal acceptabele versie van de module.
    • RequiredVersion - Hiermee geeft u een exacte, vereiste versie van de module op. Dit kan niet worden gebruikt met de andere versiesleutels.

Parametereigenschappen

Type:

ModuleSpecification[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

FullyQualifiedName
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ModuleInfo

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

Parametereigenschappen

Type:

PSModuleInfo[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ModuleInfo
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Name

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

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

name
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt een modulenaam doorsluisen naar deze cmdlet.

PSModuleInfo

U kunt een moduleobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

PowerShell bevat de volgende aliassen voor Remove-Module:

  • Alle platforms:
    • rmo

Wanneer u een module verwijdert, wordt er een gebeurtenis geactiveerd die kan worden gebruikt om wat opschooncode uit te voeren. Zie voorbeeld 5voor meer informatie.