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


PowerShell-modul importálása

Miután telepített egy modult egy rendszeren, valószínűleg importálni szeretné a modult. Az importálás az a folyamat, amely betölti a modult az aktív memóriába, hogy a felhasználó hozzáfér a modulhoz a PowerShell-munkamenetben. A PowerShell 2.0-ban importálhat egy újonnan telepített PowerShell-modult az Import-Module parancsmag hívásával. A PowerShell 3.0-ban a PowerShell képes implicit módon importálni egy modult, ha a modul egyik függvényét vagy parancsmagját egy felhasználó hív meg. Vegye figyelembe, hogy mindkét verzió feltételezi, hogy a modult olyan helyre telepíti, ahol a PowerShell megtalálja; További információ: PowerShell-modul telepítése. A moduljegyzék használatával korlátozhatja a modul exportált részeit, a hívás paramétereivel pedig korlátozhatja az importált Import-Module részeket.

Alkalmazás importálása Snap-In (PowerShell 1.0)

A modulok nem léteztek a PowerShell 1.0-ban: ehelyett beépülő modulokat kellett regisztrálnia és használnia. Jelenleg azonban nem ajánlott ezt a technológiát használni, mivel a modulok telepítése és importálása általában egyszerűbb. További információ: Windows PowerShell beépülő modul létrehozása.

Modul importálása Import-Module (PowerShell 2.0)

A PowerShell 2.0 a megfelelő nevű Import-Module parancsmagot használja a modulok importáláshoz. A parancsmag futtatásakor a Windows PowerShell megkeresi a megadott modult a változóban megadott PSModulePath könyvtárakban. A megadott könyvtár megtalálása után a Windows PowerShell a következő sorrendben keres fájlokat: moduljegyzékfájlok (.psd1), szkriptmodul-fájlok (.psm1), bináris modulfájlok (.dll). A könyvtárak kereséshez való hozzáadásával kapcsolatos további információkért lásd: about_PSModulePath. Az alábbi kód a modulok importálását ismerteti:

Import-Module myModule

Feltételezve, hogy a myModule a fájlban PSModulePath található, a PowerShell a myModule modult az aktív memóriába töltné be. Ha a myModule nem elérési úton található, akkor is explicit módon megmondhatja a PSModulePath PowerShellnek, hogy hol található:

Import-Module -Name C:\myRandomDirectory\myModule -Verbose

A paraméterrel azt is azonosíthatja, hogy mit exportál a modulból, és mit importál az -Verbose aktív memóriába. Az exportálások és az importok is korlátozzák, hogy mi lesz elérhető a felhasználó számára: a különbség az, hogy ki szabályozza a láthatóságot. Az exportálásokat lényegében a modulon belüli kód vezérli. Ezzel szemben az importokat a hívás Import-Module vezérli. További információ: Az importált tagok korlátozása.

Modul implicit importálása (PowerShell 3.0)

A Windows PowerShell 3.0-stól kezdve a modulok automatikusan importálódnak, ha a modul bármely parancsmagját vagy függvényét egy parancs használja. Ez a funkció a PSModulePath környezeti változó értékének megfelelő könyvtár bármelyik modulján működik. Ha azonban nem egy érvényes elérési úton menti a modult, akkor is betöltheti őket a fent leírt explicit Import-Module lehetőséggel.

Az alábbi műveletek aktiválják egy modul automatikus importálását, más néven a modul automatikus betöltését.

  • Parancsmag használata parancsban. A begépeléssel például importálhatja a parancsmagot tartalmazó Get-ExecutionPolicy Microsoft.PowerShell.Security Get-ExecutionPolicy modult.

  • A Get-Command parancsmagot használva le kell kapnia a parancsot. A begépelése például importálja a parancsmagot tartalmazó Get-Command Get-JobTrigger PSScheduledJob Get-JobTrigger modult. A helyettesítő karaktereket tartalmazó parancsok felderítésnek minősülnek, és nem indítják el Get-Command a modulok importálását.

  • Segítség a Get-Help parancsmag használatával egy parancsmaghoz. A begépeléssel például importálhatja a parancsmagot tartalmazó Get-Help Get-WinEvent Microsoft.PowerShell.Diagnostics Get-WinEvent modult.

A modulok automatikus importálásának támogatásához a parancsmag az összes telepített modul összes parancsmagját és függvényét lekérte, még akkor is, ha a modult nem importálta Get-Command a munkamenetbe. További információért tekintse meg a Get-Command parancsmag súgótémakörét.

Az importálási folyamat

Egy modul importálásakor a rendszer létrehoz egy új munkamenet-állapotot a modulhoz, és létrehoz egy System.Management.Automation.PSModuleInfo objektumot a memóriában. Minden importált modulhoz létrejön egy munkamenet-állapot (beleértve a gyökérmodult és a beágyazott modulokat). A gyökérmodulból exportált tagok, beleértve a beágyazott modulok által a gyökérmodulba exportált tagokat is, importálva vannak a hívó munkamenet-állapotába.

A modulokból exportált tagok metaadatainak ModuleName tulajdonsága van. Ez a tulajdonság az azokat exportált modul nevével tölti fel.

Figyelmeztetés

Ha egy exportált tag neve nem jóváhagyott igét használ, vagy ha a tag neve korlátozott karaktereket használ, az Import-Module parancsmag futtatásakor figyelmeztetés jelenik meg.

Alapértelmezés szerint az Import-Module parancsmag nem ad vissza objektumot a folyamatnak. A parancsmag azonban támogatja a PassThru paramétert, amely a System.Management.Automation.PSModuleInfo objektum visszaadására használható minden importált modulhoz. Ha kimenetet kell küldenie a gazdagépnek, a felhasználóknak futtatniuk kell a Write-Host parancsmagot.

Az importált tagok korlátozása

Amikor az Import-Module parancsmaggal importál egy modult, alapértelmezés szerint a modul összes exportált tagja importálva lesz a munkamenetbe, beleértve a modulba beágyazott modul által exportált parancsokat is. Alapértelmezés szerint a változók és aliasok nincsenek exportálva. Az exportált tagok korlátozására használjon egy moduljegyzéket. Az importált tagok korlátozására használja a parancsmag alábbi Import-Module paramétereit.

  • Függvény: Ez a paraméter korlátozza az exportált függvényeket. (Ha moduljegyzéket használ, tekintse meg a FunctionsToExport kulcsot.)

  • `Parancsmag: Ez a paraméter korlátozza az exportált parancsmagokat (ha moduljegyzéket használ, tekintse meg a CmdletsToExport kulcsot.)

  • Változó: Ez a paraméter korlátozza az exportált változókat (ha moduljegyzéket használ, tekintse meg a VariablesToExport kulcsot.)

  • Alias: Ez a paraméter korlátozza az exportált aliasokat (ha moduljegyzéket használ, tekintse meg az AliasesToExport kulcsot.)

Lásd még:

Windows PowerShell-modul írása