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