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.
A Windows PowerShell-szolgáltató lehetővé teszi, hogy az adattárak úgy legyenek közzétéve, mint egy fájlrendszer, mintha csatlakoztatott meghajtó lenne. A beépített beállításjegyzék-szolgáltató például lehetővé teszi, hogy úgy navigáljon a beállításjegyzékben, mintha a számítógép c meghajtójára navigálna. A szolgáltató felülbírálhatja a Item parancsmagokat (például Get-Item, Set-Itemstb.), így az adattárban lévő adatok úgy kezelhetők, mint a fájlok és a könyvtárak, amikor egy fájlrendszert navigál. További információ a szolgáltatókról és meghajtókról, valamint a Windows PowerShell beépített szolgáltatóiról: about_Providers.
Szolgáltatók és meghajtók
A szolgáltató meghatározza az adattárak elérésére, navigálására és szerkesztésére használt logikát, míg a meghajtó egy adott belépési pontot határoz meg egy, a szolgáltató által meghatározott típusú adattárhoz (vagy egy adattár egy részére). A beállításjegyzék-szolgáltató például lehetővé teszi a beállításjegyzékben lévő hives és kulcsok elérését, a HKLM- és HKCU-meghajtók pedig a beállításjegyzék megfelelő hives-eit határozzák meg. A HKLM és a HKCU meghajtók egyaránt a beállításjegyzék-szolgáltatót használják.
Szolgáltató írásakor megadhatja azokat az alapértelmezett meghajtókat, amelyek automatikusan jönnek létre, amikor a szolgáltató elérhető. A szolgáltatót használó új meghajtók létrehozására is meghatároz egy metódust.
Szolgáltatók típusa
Számos szolgáltató létezik, amelyek mindegyike eltérő szintű funkcionalitást biztosít. A szolgáltató olyan osztályként van implementálva, amely a System.Management.Automation.SessionStateCategoryCmdletProvider osztály egyik leszármazottjából származik. A különböző szolgáltatókról további információt Szolgáltatótípusokcímű témakörben talál.
Szolgáltatói parancsmagok
A szolgáltatók a parancsmagoknak megfelelő metódusokat implementálhatnak, és egyéni viselkedést hozhatnak létre ezekhez a parancsmagokhoz, amikor az adott szolgáltató meghajtójában használják őket. A szolgáltató típusától függően különböző parancsmagok érhetők el. A szolgáltatók testreszabásához elérhető parancsmagok teljes listáját a Szolgáltató parancsmagjaicímű témakörben találja.
Szolgáltatói útvonalak
A felhasználók úgy navigálnak a szolgáltatói meghajtókon, mint a fájlrendszerek. Emiatt elvárják, hogy az elérési utak szintaxisa megfeleljen a fájlrendszer-navigációban használt elérési utaknak. Amikor egy felhasználó egy szolgáltatói parancsmagot futtat, megadja a elérni kívánt elem elérési útját. A megadott elérési út többféleképpen is értelmezhető. A szolgáltatónak támogatnia kell az alábbi elérési utak egy vagy több típusát.
Meghajtóval minősített elérési utak
A meghajtóval minősített elérési út az elem nevének, az elem tárolójának és alkontainereinek, valamint az elem elérésére szolgáló Windows PowerShell-meghajtónak a kombinációja. (A meghajtókat az adattár eléréséhez használt szolgáltató határozza meg. Ez az elérési út a meghajtó nevével kezdődik, majd egy kettősponttal (:). Például: Get-ChildItem C:
Szolgáltató által minősített elérési utak
Ahhoz, hogy a Windows PowerShell-motor inicializálhassa és inicializálhassa a szolgáltatót, a szolgáltatónak támogatnia kell egy szolgáltató által minősített elérési utat. A felhasználó például inicializálhatja és nem inicializálhatja a FileSystem-szolgáltatót, mert a következő szolgáltató által minősített elérési utat határozza meg: FileSystem::\\uncshare\abc\bar.
Közvetlen szolgáltatói útvonalak
A Windows PowerShell-szolgáltató távoli elérésének engedélyezéséhez támogatnia kell egy közvetlen szolgáltatói elérési utat, amely közvetlenül a Windows PowerShell-szolgáltatónak továbbítja az aktuális helyet. A beállításjegyzék Windows PowerShell-szolgáltatója például a \\server\regkeypath használhatja szolgáltatói közvetlen elérési útként.
Szolgáltató belső elérési útjai
Ahhoz, hogy a szolgáltatói parancsmag nem Windows PowerShell-alkalmazásprogramozási felületekkel (API-kkal) férhessen hozzá az adatokhoz, a Windows PowerShell-szolgáltatónak támogatnia kell a szolgáltató belső elérési útját. Ez az elérési út a szolgáltató által minősített elérési út ":" után jelenik meg. A FileSystem Windows PowerShell-szolgáltató szolgáltatói belső elérési útja például \\uncshare\abc\bar.
Parancsmag paramétereinek felülírása
Egyes szolgáltatóspecifikus parancsmagok viselkedését egy szolgáltató felülírhatja. A felülbírálható paraméterek listáját és azok szolgáltatói osztályban való felülbírálását Szolgáltató parancsmag paraméterei
Dinamikus paraméterek
A szolgáltatók olyan dinamikus paramétereket határozhatnak meg, amelyek akkor lesznek hozzáadva egy szolgáltatói parancsmaghoz, ha a felhasználó meghatároz egy bizonyos értéket a parancsmag egyik statikus paraméteréhez. A szolgáltató ezt egy vagy több dinamikus paramétermetely implementálásával hajtja végre. A dinamikus paraméter hozzáadásához használható parancsmagparaméterek és az implementálásukhoz használt metódusok listáját Provider parancsmag dinamikus paramétereicímű témakörben találja.
Szolgáltatói képességek
A System.Management.Automation.Provider.ProviderCapabilities enumerálás számos olyan képességet határoz meg, amelyeket a szolgáltatók támogathatnak. Ezek közé tartozik a helyettesítő karakterek, a szűrőelemek és a támogatási tranzakciók használatának lehetősége. A szolgáltató képességeinek megadásához adja hozzá a System.Management.Automation.Provider.ProviderCapabilities enumerálás értékeinek listáját, logikai OR művelettel kombinálva a system.Management.Automation.Provider.CmdletProviderAttribute.ProviderCapabilities* tulajdonságaként (az attribútum második paramétere) a System.Management.Automation.Provider.CmdletProviderAttribute attribútumot a szolgáltatóosztályhoz. Az alábbi attribútum például azt határozza meg, hogy a szolgáltató támogatja a System.Management.Automation.Provider.ProviderCapabilitiesShouldProcess és System.Management.Automation.Provider.ProviderCapabilitiesTranzakciók képességeket.
[CmdletProvider(RegistryProvider.ProviderName, ProviderCapabilities.ShouldProcess | ProviderCapabilities.Transactions)]
Szolgáltatói parancsmag súgója
Szolgáltató írásakor saját súgót alkalmazhat az Ön által támogatott szolgáltatói parancsmagokhoz. Ez magában foglal egy súgótémakört minden szolgáltatói parancsmaghoz vagy egy súgótémakör több verziójához olyan esetekben, amikor a szolgáltatói parancsmag a dinamikus paraméterek használata alapján eltérően működik. A szolgáltatói parancsmag-specifikus súgó támogatásához a szolgáltatónak implementálnia kell a System.Management.Automation.Provider.ICmdletProviderSupportsHelp felületet.
A Windows PowerShell-motor meghívja a System.Management.Automation.Provider.ICmdletProviderSupportsHelp.GetHelpMaml* metódust a szolgáltatói parancsmagok súgótémakörének megjelenítéséhez. A motor megadja a felhasználó által a Get-Help parancsmag futtatásakor megadott parancsmag nevét és a felhasználó aktuális elérési útját.
Az aktuális elérési út akkor szükséges, ha a szolgáltató ugyanazon szolgáltatói parancsmag különböző verzióit implementálja a különböző meghajtókhoz. A metódusnak egy olyan sztringet kell visszaadnia, amely tartalmazza a súgó parancsmag XML-fájlját.
A súgófájl tartalma PSMAML XML használatával van megírva. Ez ugyanaz az XML-séma, amelyet a különálló parancsmagok súgótartalmainak írásához használnak. Adja hozzá az egyéni parancsmag súgójának tartalmát a szolgáltató súgófájljához a CmdletHelpPaths elem alatt. Az alábbi példa egyetlen szolgáltatói parancsmag command elemét mutatja be, és bemutatja, hogyan adja meg a szolgáltató által megadott szolgáltatói parancsmag nevét. Támogatja
<CmdletHelpPaths>
<command:command>
<command:details>
<command:name>ProviderCmdletName</command:name>
<command:verb>Verb</command:verb>
<command:noun>Noun</command:noun>
<command:details>
</command:command>
<CmdletHelpPath>