Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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-Item
atd.), 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>