Megosztás a következőn keresztül:


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

String

Ehhez a parancsmaghoz csövezheti a modul nevét.

PSModuleInfo

Ehhez a parancsmaghoz modulobjektumot is csövezhet.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

A PowerShell a következő aliasokat Remove-Moduletartalmazza:

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