Remove-Module
Eltávolítja a modulokat az aktuális munkamenetből.
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
A Remove-Module
parancsmag eltávolítja egy modul tagjait, például a parancsmagokat és a függvényeket az aktuális munkamenetből.
Ha a modul tartalmaz egy szerelvényt (.dll
), a szerelvény által implementált összes tag el lesz távolítva, de a szerelvény nincs eltávolítva.
Ez a parancsmag nem távolítja el vagy törli a modult a számítógépről. Csak az aktuális PowerShell-munkamenetre van hatással.
Példák
1. példa: Modul eltávolítása
Remove-Module -Name "BitsTransfer"
Ez a parancs eltávolítja a BitsTransfer modult az aktuális munkamenetből.
2. példa: Az összes modul eltávolítása
Get-Module | Remove-Module
Ez a parancs eltávolítja az összes modult az aktuális munkamenetből.
3. példa: Modulok eltávolítása a folyamat használatával
"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')".
Ez a parancs eltávolítja a BitsTransfer és a PSDiagnostics modult az aktuális munkamenetből.
A parancs folyamatkezelővel (|
) küldi el a modulneveket Remove-Module
. A Részletes általános paraméter használatával részletes információkat kaphat az eltávolított tagokról.
A részletes üzenetek az eltávolított elemeket jelenítik meg. Az üzenetek azért különböznek, mert a BitsTransfer modul tartalmaz egy szerelvényt, amely megvalósítja a parancsmagjait, és egy beágyazott modult saját szerelvényével. A PSDiagnostics modul tartalmaz egy modulszkriptfájlt (.psm1
), amely függvényeket exportál.
4. példa: Modul eltávolítása a ModuleInfo használatával
$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a
Ez a parancs a ModuleInfo paramétert használja a BitsTransfer modul eltávolításához.
5. példa: Az OnRemove esemény használata
Egy modul eltávolításakor a modul eseményindítót hoz létre, amely lehetővé teszi, hogy a modul reagáljon az eltávolításra, és végezzen el néhány tisztítási feladatot, például az erőforrások felszabadítását.
$OnRemoveScript = {
# perform cleanup
$cachedSessions | Remove-PSSession
}
$ExecutionContext.SessionState.Module.OnRemove += $OnRemoveScript
$registerEngineEventSplat = @{
SourceIdentifier = ([System.Management.Automation.PsEngineEvent]::Exiting)
Action = $OnRemoveScript
}
Register-EngineEvent @registerEngineEventSplat
A $OnRemoveScript
változó tartalmazza az erőforrásokat megtisztító szkriptblokkot. A szkriptblokk regisztrálásához rendelje hozzá $ExecutionContext.SessionState.Module.OnRemove
. Azt is megteheti Register-EngineEvent
, hogy a szkriptblokkot a PowerShell-munkamenet befejeződésekor hajtja végre.
Szkriptalapú modulok esetén ezt a kódot hozzá kell adnia a .PSM1
fájlhoz, vagy egy indítási szkriptbe kell helyeznie, amely a moduljegyzék ScriptsToProcess tulajdonságában szerepel.
Paraméterek
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Force
Azt jelzi, hogy ez a parancsmag eltávolítja az írásvédett modulokat. Alapértelmezés szerint Remove-Module
csak olvasási-írási modulokat távolít el.
A ReadOnly és a ReadWrite értékek egy modul AccessMode tulajdonságában vannak tárolva.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FullyQualifiedName
Az érték lehet egy modul neve, egy teljes modul specifikációja vagy egy modulfájl elérési útja.
Ha az érték egy elérési út, az elérési út teljes mértékben minősített vagy relatív lehet. A relatív elérési út feloldása a használandó utasítást tartalmazó szkripthez képest történik.
Ha az érték egy név vagy egy modul specifikációja, a PowerShell megkeresi a PSModulePath-t a megadott modulban.
A modulspecifikáció egy kivonatoló, amely a következő kulcsokkal rendelkezik.
ModuleName
- A Kötelező a modul nevét adja meg.GUID
- Nem kötelező : A modul GUID azonosítója.- Emellett az alábbi három kulcs közül legalább egyet meg kell adnia.
ModuleVersion
– A modul minimálisan elfogadható verzióját adja meg.MaximumVersion
– Meghatározza a modul maximálisan elfogadható verzióját.RequiredVersion
– A modul pontos, kötelező verzióját adja meg. Ez nem használható a többi Verzió billentyűvel.
Típus: | ModuleSpecification[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-ModuleInfo
Megadja az eltávolítandó modulobjektumokat. Adjon meg egy psModuleInfo objektumot tartalmazó változót, vagy egy modulobjektumot lekérő parancsot, például egy parancsotGet-Module
. A modulobjektumokat is becsúszthatja a parancsba Remove-Module
.
Típus: | PSModuleInfo[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Name
Megadja az eltávolítandó modulok nevét. A helyettesítő karakterek használata engedélyezett. A vezetéknév-sztringeket is beszúrhatja a parancsba Remove-Module
.
Típus: | String[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | True |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
Ehhez a parancsmaghoz csövezheti a modul nevét.
Ehhez a parancsmaghoz modulobjektumot is csövezhet.
Kimenetek
None
Ez a parancsmag nem ad vissza kimenetet.
Jegyzetek
A PowerShell a következő aliasokat Remove-Module
tartalmazza:
- Minden platform:
rmo
Amikor eltávolít egy modult, egy esemény aktiválódik, amely használható néhány törlési kód futtatására. További részletekért lásd az 5. példát.