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


A Windows PowerShell-szolgáltató áttekintése

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>

Lásd még:

Windows PowerShell-szolgáltató funkcióinak

szolgáltatói parancsmagok

Windows PowerShell-szolgáltató írása