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 parancsmagokat és 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 PSDiagnostics modulokat az aktuális munkamenetből.

A parancs egy folyamatkezelőt (|) használ a modulnevek Remove-Module. A Részletes gyakori paramétert használja az eltávolított tagok részletes információinak lekéréséhez.

Az 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. A Register-EngineEvent használatával is végrehajthatja a szkriptblokkot a PowerShell-munkamenet befejezésekor.

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

Megerősíté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.

Az ReadOnly és 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 név vagy modulspecifikáció, a PowerShell megkeresi a megadott modul PSModulePath.

A modulspecifikáció egy kivonatoló, amely a következő kulcsokkal rendelkezik.

  • ModuleName - Kötelező A modul nevét adja meg.
  • GUID - Nem kötelező A modul GUID azonosítóját adja meg.
  • Emellett Kötelező megadni az alábbi három kulcs közül legalább egyet.
    • ModuleVersion – A modul minimálisan elfogadható verzióját adja meg.
    • MaximumVersion – A modul maximálisan elfogadható verzióját adja meg.
    • 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 változót, amely egy PSModuleInfo objektumot vagy egy modulobjektumot lekérő parancsot tartalmaz, például egy Get-Module parancsot. A modulobjektumokat Remove-Moduleis be lehet csövezni.

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 névsztringeket a Remove-Moduleis használhatja.

Típus:String[]
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. 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 tartalmazza Remove-Module:

  • 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 5. példa.