Sdílet prostřednictvím


Vytvoření Windows PowerShell Property Provider

Toto téma popisuje, jak vytvořit poskytovatele, který umožní uživateli manipulovat s vlastnostmi položek v datovém úložišti. V důsledku toho se tento typ poskytovatele označuje jako poskytovatel vlastností Windows PowerShell. Například poskytovatel registru poskytovaný Windows PowerShell zpracovává hodnoty klíčů registru jako vlastnosti položky klíče registru. Tento typ poskytovatele musí přidat rozhraní System.Management.Automation.Provider.IPropertyCmdletProvider do implementace třídy .NET.

Poznámka:

Windows PowerShell poskytuje šablonový soubor, který můžete použít k vývoji poskytovatele Windows PowerShell. Soubor TemplateProvider.cs je dostupný v Microsoft Windows Software Development Kit pro Windows Vista a .NET Framework 3.0 Runtime Components. Pro návod ke stažení viz Jak nainstalovat Windows PowerShell a Stáhněte si Windows PowerShell SDK. Stažená šablona je dostupná v adresáři <PowerShell Samples> . Měli byste si tento soubor zkopírovat a použít kopii k vytvoření nového poskytovatele Windows PowerShell, čímž odstraníte všechny funkce, které nepotřebujete. Pro více informací o dalších implementacích poskytovatelů Windows PowerShell viz Návrh vašeho poskytovatele Windows PowerShell.

Upozornění

Metody vašeho poskytovatele vlastností by měly psát objekty pomocí metody System.Management.Automation.Provider.CmdletProvider.Writepropertyobject* .

Definování poskytovatele Windows PowerShell

Poskytovatel vlastností musí vytvořit třídu .NET, která podporuje rozhraní System.Management.Automation.Provider.IPropertyCmdletProvider . Zde je výchozí deklarace třídy ze souboru TemplateProvider.cs poskytovaného Windows PowerShell.

Definování základní funkcionality

Rozhraní System.Management.Automation.Provider.IPropertyCmdletProvider lze připojit ke kterékoliv základní třídě poskytovatele, s výjimkou třídy System.Management.Automation.Provider.DriveCmdletProvider . Přidejte základní funkcionalitu, kterou vyžaduje základní třída, kterou používáte. Pro více informací o základních třídách viz Návrh vašeho Windows PowerShell Providera.

Získávání vlastností

Pro získání vlastností musí poskytovatel implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty*, která podporuje volání z Get-ItemProperty cmdletu. Tato metoda získává vlastnosti položky umístěné na určené interní cestě poskytovatele (plně kvalifikované).

Parametr providerSpecificPickList určuje, které vlastnosti získat zpět. Pokud je tento parametr nebo prázdný null , metoda by měla získat všechny vlastnosti. Kromě toho System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty* zapisuje instanci objektu System.Management.Automation.PSObject , který reprezentuje vlastnostní vak získaných vlastností. Metoda by neměla nic vrátit.

Doporučuje se, aby implementace System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty* podporovala rozšíření názvů vlastností pro každý prvek v seznamu výběrů pomocí divoké karty. K tomu použijte třídu System.Management.Automation.WildcardPattern k provedení porovnávání vzorů divokých karet.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty* ze souboru TemplateProvider.cs poskytovaného Windows PowerShell.

Na co si pamatovat při implementaci GetProperty

Následující podmínky se mohou vztahovat na vaši implementaci System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty*:

Připojení dynamických parametrů k Get-ItemProperty Cmdletu

Cmdlet Get-ItemProperty může vyžadovat další parametry, které jsou dynamicky specifikovány za běhu. Pro poskytnutí těchto dynamických parametrů musí poskytovatel vlastností Windows PowerShell implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters* . Parametr path označuje plně kvalifikovanou interní cestu poskytovatele, zatímco parametr providerSpecificPickList specifikuje vlastnosti specifické pro poskytovatele zadané v příkazovém řádku. Tento parametr může být nebo prázdný null , pokud jsou vlastnosti připojeny do cmdletu. V tomto případě tato metoda vrací objekt, který má vlastnosti a pole s atributy pro analýzu podobnými třídě cmdlet nebo objektu System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell používá vrácený objekt k přidání parametrů do cmdletu.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters* ze souboru TemplateProvider.cs poskytovaného Windows PowerShell.

Nastavení vlastností

Pro nastavení vlastností musí poskytovatel vlastností Windows PowerShell implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty*, která podporuje volání z Set-ItemProperty CMDLETu. Tato metoda nastaví jednu nebo více vlastností položky na dané cestě a podle potřeby přepíše dodané vlastnosti. System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty* také zapisuje instanci objektu System.Management.Automation.PSObject , který reprezentuje vlastnostní tašku aktualizovaných vlastností.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty* ze souboru TemplateProvider.cs poskytovaného Windows PowerShell.

Na co si dát pozor při zavádění Set-ItemProperty

Následující podmínky se mohou vztahovat na implementaci System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty*:

Připojení dynamických parametrů pro Set-ItemProperty Cmdlet

Cmdlet Set-ItemProperty může vyžadovat další parametry, které jsou dynamicky specifikovány za běhu. Pro poskytnutí těchto dynamických parametrů musí poskytovatel vlastností Windows PowerShell implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters* . Tato metoda vrací objekt, který má vlastnosti a pole s atributy pro parsování podobnými třídě cmdlet nebo objektu System.Management.Automation.RuntimeDefinedParameterDictionary . Hodnota může být vrácena, null pokud není třeba přidávat dynamické parametry.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters* ze souboru TemplateProvider.cs poskytovaného Windows PowerShell.

Vlastnosti clearingu

Pro vyčištění vlastností musí poskytovatel vlastností Windows PowerShell implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty*, která podporuje volání z Clear-ItemProperty cmdletu. Tato metoda nastavuje jednu nebo více vlastností pro položku umístěnou na určené cestě.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty* z TemplateProvider.cs souboru poskytnutého Windows PowerShell.

Věc, na kterou je třeba pamatovat při implementaci ClearProperty

Následující podmínky se mohou vztahovat na vaši implementaci System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty*:

Připojení dynamických parametrů k Clear-ItemProperty Cmdletu

Cmdlet Clear-ItemProperty může vyžadovat další parametry, které jsou dynamicky specifikovány za běhu. Pro poskytnutí těchto dynamických parametrů musí poskytovatel vlastností Windows PowerShell implementovat metodu System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters* . Tato metoda vrací objekt, který má vlastnosti a pole s atributy pro parsování podobnými třídě cmdlet nebo objektu System.Management.Automation.RuntimeDefinedParameterDictionary . Hodnota může být vrácena, null pokud není třeba přidávat dynamické parametry.

Zde je výchozí implementace System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters* z TemplateProvider.cs souboru poskytnutého Windows PowerShell.

Vytvoření poskytovatele Windows PowerShell

Podívejte se, jak registrovat cmdlety, poskytovatele a hostitelské aplikace.

Viz také

Windows PowerShell provider

Navrhněte svého poskytovatele Windows PowerShell

Rozšíření typů objektů a formátování

Jak registrovat cmdlety, poskytovatele a hostitelské aplikace