Sdílet prostřednictvím


Přehled zprostředkovatele Windows PowerShellu

Poskytovatel Windows PowerShellu umožňuje, aby bylo jakékoli úložiště dat vystavené jako systém souborů, jako by šlo o připojenou jednotku. Například integrovaný poskytovatel registru umožňuje procházet registr stejně, jako byste přešli na c jednotku počítače. Zprostředkovatel může také přepsat Item rutiny (například Get-Item, Set-Itematd.), aby se data ve vašem úložišti dat při navigaci v systému souborů zpracovávala jako soubory a adresáře. Další informace o poskytovatelích a jednotkách a integrovaných poskytovatelích v prostředí Windows PowerShell najdete v tématu about_Providers.

Poskytovatelé a jednotky

Zprostředkovatel definuje logiku, která se používá pro přístup k úložišti dat, navigaci a úpravě, zatímco jednotka určuje konkrétní vstupní bod pro úložiště dat (nebo část úložiště dat), která je typu definovaného poskytovatelem. Poskytovatel registru například umožňuje přístup k podregistrům a klíčům v registru a jednotky HKLM a HKCU určují odpovídající podregistry v registru. HKLM i HKCU řídí obě jednotky, používají zprostředkovatele registru.

Při zápisu zprostředkovatele můžete určit výchozí jednotky, které se vytvoří automaticky, když je poskytovatel k dispozici. Definujete také metodu pro vytvoření nových jednotek, které používají daného poskytovatele.

Typ zprostředkovatelů

Existuje několik typů poskytovatelů, z nichž každá poskytuje jinou úroveň funkcí. Zprostředkovatel je implementován jako třída, která je odvozena z jednoho z potomků System.Management.Automation.SessionStateCategoryRutinProvider třídy. Informace o různých typech poskytovatelů naleznete v tématu Typy zprostředkovatele.

Rutiny zprostředkovatelů

Zprostředkovatelé mohou implementovat metody, které odpovídají rutinám, a vytvářet vlastní chování pro tyto rutiny při použití v jednotce pro tohoto poskytovatele. V závislosti na typu poskytovatele jsou k dispozici různé sady rutin. Úplný seznam rutin, které jsou k dispozici pro přizpůsobení v poskytovatelích, najdete v tématu Rutiny Provider.

Cesty zprostředkovatele

Uživatelé procházejí jednotkami poskytovatele, jako jsou systémy souborů. Z tohoto důvodu očekávají, že syntaxe cest odpovídá cestám použitým v navigaci v systému souborů. Když uživatel spustí rutinu zprostředkovatele, určí cestu k položce, ke které se má získat přístup. Zadaná cesta se dá interpretovat několika způsoby. Zprostředkovatel by měl podporovat jeden nebo více následujících typů cest.

Cesty kvalifikované pro jednotku

Cesta kvalifikovaná pro jednotku je kombinací názvu položky, kontejneru a podkontejnerů, ve kterých se položka nachází, a jednotky Windows PowerShellu, přes kterou se k položce přistupuje. (Jednotky jsou definovány poskytovatelem, který se používá pro přístup k úložišti dat. Tato cesta začíná názvem jednotky následovaným dvojtečku (:). Příklad: Get-ChildItem C:

Cesty kvalifikované poskytovatelem

Pokud chcete modulu Windows PowerShellu povolit inicializaci a zrušení inicializace poskytovatele, musí zprostředkovatel podporovat cestu kvalifikovanou k zprostředkovateli. Uživatel může například inicializovat a zrušit inicializaci zprostředkovatele FileSystem, protože definuje následující cestu kvalifikovaného zprostředkovatele: FileSystem::\\uncshare\abc\bar.

Přímé cesty zprostředkovatele

Pokud chcete povolit vzdálený přístup k vašemu poskytovateli Windows PowerShellu, měl by podporovat přímou cestu zprostředkovatele, která se má předat přímo zprostředkovateli Windows PowerShellu pro aktuální umístění. Například poskytovatel Windows PowerShellu registru může jako přímou cestu zprostředkovatele použít \\server\regkeypath.

Interní cesty zprostředkovatele

Aby mohla rutina zprostředkovatele přistupovat k datům pomocí aplikačních rozhraní (API) jiného než Windows PowerShellu, měl by váš poskytovatel Prostředí Windows PowerShell podporovat interní cestu zprostředkovatele. Tato cesta je označena za ::v cestě kvalifikované poskytovatelem. Například interní cesta zprostředkovatele pro zprostředkovatele Windows PowerShell systému souborů je \\uncshare\abc\bar.

Přepsání parametrů rutiny

Chování některých rutin specifických pro poskytovatele může přepsat poskytovatel. Seznam parametrů, které je možné přepsat a jak je přepsat ve třídě zprostředkovatele, najdete v tématu Parametry rutiny poskytovatele

Dynamické parametry

Zprostředkovatelé mohou definovat dynamické parametry, které se přidají do rutiny zprostředkovatele, když uživatel určí určitou hodnotu pro jeden ze statických parametrů rutiny. Zprostředkovatel to provádí implementací jedné nebo více dynamických metod parametrů. Seznam parametrů rutiny, které lze použít k přidání dynamického parametru, a metody použité k jejich implementaci naleznete v tématu Zprostředkovatel dynamické parametry.

Možnosti poskytovatele

Výčet System.Management.Automation.Provider.ProviderCapabilities definuje řadu funkcí, které můžou poskytovatelé podporovat. Patří mezi ně možnost používat zástupné kóty, filtrovat položky a podporovat transakce. Pokud chcete určit možnosti pro poskytovatele, přidejte seznam hodnot System.Management.Automation.ProviderCapabilities výčtu v kombinaci s logickou OR operací jako System.Management.Automation.Provider.CmdletProviderAttribute.ProviderCapabilities* vlastnost (druhý parametr atributu) System.Management.Automation.Provider.CmdletProviderAttribute atribut pro vaši třídu zprostředkovatele. Například následující atribut určuje, že poskytovatel podporuje System.Management.Automation.Provider.ProviderCapabilitiesShouldProcess a System.Management.Automation.Provider.ProviderCapabilitiesTransactions schopností.

[CmdletProvider(RegistryProvider.ProviderName, ProviderCapabilities.ShouldProcess | ProviderCapabilities.Transactions)]

Nápověda k rutinám zprostředkovatele

Při psaní zprostředkovatele můžete implementovat vlastní nápovědu pro rutiny poskytovatele, které podporujete. To zahrnuje jedno téma nápovědy pro každou rutinu zprostředkovatele nebo více verzí tématu nápovědy pro případy, kdy rutina zprostředkovatele funguje odlišně na základě použití dynamických parametrů. Pokud chcete podporovat nápovědu pro konkrétní rutiny poskytovatele, musí váš poskytovatel implementovat System.Management.Automation.Provider.ICmdletProviderSupportsHelp rozhraní.

Modul Windows PowerShellu volá metodu System.Management.Automation.Provider.ICmdletProviderSupportsHelp.GetHelpMaml* metodu pro zobrazení tématu nápovědy pro rutiny zprostředkovatele. Modul poskytuje název rutiny, kterou uživatel zadal při spuštění rutiny Get-Help a aktuální cestu uživatele. Aktuální cesta se vyžaduje, pokud váš poskytovatel implementuje různé verze stejné rutiny zprostředkovatele pro různé jednotky. Metoda musí vrátit řetězec, který obsahuje XML pro nápovědu rutiny.

Obsah souboru nápovědy se zapíše pomocí SOUBORU PSMAML XML. Toto je stejné schéma XML, které se používá k zápisu obsahu nápovědy pro samostatné rutiny. Do souboru nápovědy k nápovědě k vašemu poskytovateli přidejte obsah vlastní rutiny pod element CmdletHelpPaths. Následující příklad ukazuje prvek command pro jednu rutinu zprostředkovatele a ukazuje, jak zadáte název rutiny zprostředkovatele, kterou váš zprostředkovatel. podporuje

<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>

Viz také

funkce zprostředkovatele Windows PowerShellu

rutiny zprostředkovatele

zápisu zprostředkovatele Windows PowerShellu