Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Miután telepített egy modult egy rendszerre, 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érhessen a modulhoz a PowerShell-munkamenetben. A PowerShell 2.0-ban importálhat egy újonnan telepített PowerShell-modult az importálási modul parancsmag meghívásával. A PowerShell 3.0-ban a PowerShell implicit módon importálhat egy modult, ha a modul egyik függvényét vagy parancsmagját egy felhasználó hívja meg. Vegye figyelembe, hogy mindkét verzió feltételezi, hogy olyan helyre telepíti a modult, ahol a PowerShell megtalálja; további információ: PowerShell-modul telepítése. A moduljegyzék használatával korlátozhatja a modul egyes részeinek exportálását, és a Import-Module hívás paramétereivel korlátozhatja, hogy mely részek legyenek importálva.
Snap-In importálása (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ően elnevezett Import-Module parancsmagot használja a modulok importálásához. A parancsmag futtatásakor a Windows PowerShell megkeresi a megadott modult a PSModulePath változóban megadott könyvtárakban. A megadott könyvtár megtalálásakor a Windows PowerShell a következő sorrendben keres fájlokat: moduljegyzékfájlok (.psd1), szkriptmodulfájlok (.psm1), bináris modulfájlok (.dll). További információ a címtárak kereséshez való hozzáadásáról: about_PSModulePath.
A következő kód egy modul importálását ismerteti:
Import-Module myModule
Feltételezve, hogy a myModule a PSModulePathtalálható, a PowerShell betölti a Module-t az aktív memóriába. Ha a MyModule nem egy PSModulePath elérési úton található, akkor is explicit módon közölheti a PowerShell-lel, hogy hol található:
Import-Module -Name C:\myRandomDirectory\myModule -Verbose
A -Verbose paraméter használatával azt is azonosíthatja, hogy mit exportál a modulból, és mit importál az aktív memóriába. Az exportálás és az importálás egyaránt korlátozza a felhasználó számára elérhető adatokat: 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 szabályozza. Ezzel szemben az importálást a Import-Module hívás szabályozza. További információ: Importált tagok korlátozásaalább.
Modul implicit importálása (PowerShell 3.0)
A Windows PowerShell 3.0-tól kezdve a modulok automatikusan importálódnak, ha a modul bármely parancsmagja vagy függvénye egy parancsban szerepel. Ez a funkció a PSModulePath környezeti változó értékében szereplő könyvtár bármely modulján működik. Ha azonban nem érvényes útvonalon menti a modult, akkor is betöltheti őket a fent ismertetett 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 "modul automatikus betöltését".
Parancsmag használata egy parancsban. A
Get-ExecutionPolicybeírásával például importálja aGet-ExecutionPolicyparancsmagot tartalmazó Microsoft.PowerShell.Security modult.A parancs lekéréséhez használja a Get-Command parancsmagot. A
Get-Command Get-JobTriggerbeírásával például importálja a PSScheduledJob modult, amely tartalmazza aGet-JobTriggerparancsmagot. A helyettesítő karaktereket tartalmazóGet-Commandparancs felderítésnek minősül, és nem indítja el a modul importálását.A Get-Help parancsmaggal kérhet segítséget egy parancsmaghoz. A
Get-Help Get-WinEventbeírásával például importálja aGet-WinEventparancsmagot tartalmazó Microsoft.PowerShell.Diagnostics modult.
A modulok automatikus importálásának támogatásához a Get-Command parancsmag minden telepített modulban megkapja az összes parancsmagot és függvényt, még akkor is, ha a modult nem importálja a munkamenetbe. További információt a Get-Command parancsmag súgótémakörében talál.
Az importálási folyamat
Amikor importál egy modult, létrejön egy új munkamenet-állapot a modulhoz, és létrejön egy System.Management.Automation.PSModuleInfo objektum a memóriában. Minden importált modulhoz létrejön egy munkamenet-állapot (ez magában foglalja a gyökérmodult és az összes beágyazott modult). A gyökérmodulból exportált tagokat , beleértve a beágyazott modulok által a gyökérmodulba exportált tagokat is, a rendszer ezután importálja a hívó munkamenet-állapotába.
A modulból exportált tagok metaadatainak ModuleName tulajdonsága van. Ez a tulajdonság az exportált modul nevével van feltöltve.
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, figyelmeztetés jelenik meg az Import-Module parancsmag futtatásakor.
Alapértelmezés szerint a Import-Module parancsmag nem ad vissza objektumokat a folyamatnak. A parancsmag azonban támogat egy PassThru paramétert, amely System.Management.Automation.PSModuleInfo objektum visszaadására használható minden importált modulhoz. Ha kimenetet szeretne küldeni a gazdagépnek, a felhasználóknak futtatniuk kell a Write-Host parancsmagot.
Az importált tagok korlátozása
Ha egy modult a Import-Module parancsmaggal importál, a rendszer alapértelmezés szerint minden exportált modultagot importál a munkamenetbe, beleértve a beágyazott modul által a modulba exportált parancsokat is. Alapértelmezés szerint a változók és aliasok nem lesznek exportálva. Az exportált tagok korlátozásához használjon moduljegyzéket. Az importált tagok korlátozásához használja a Import-Module parancsmag alábbi 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