Sdílet prostřednictvím


Příručka programátora Windows PowerShellu

Tento programátorský průvodce je určen vývojářům, kteří mají zájem poskytovat prostředí pro správu příkazové řádky pro systémové administrátory. Windows PowerShell poskytuje jednoduchý způsob, jak vytvořit příkazy pro správu domény, které zpřístupňují .NET objekty, zatímco většinu práce za vás vykoná Windows PowerShell.

V tradičním vývoji příkazů je vyžadováno napsat parser parametrů, binder parametrů, filtry a veškerou další funkcionalitu, kterou každý příkaz umožní. Windows PowerShell nabízí následující, aby bylo snadné psát příkazy:

  • Výkonný Windows PowerShell runtime (výkonný engine) s vlastním parserem a mechanismem pro automatické přiřazení parametrů příkazů.

  • Nástroje pro formátování a zobrazování výsledků příkazů pomocí příkazového interpretu (CLI).

  • Podpora vysoké úrovně funkčnosti (prostřednictvím poskytovatelů Windows PowerShell), která usnadňuje přístup k uloženým datům.

    Za malé náklady můžete .NET objekt reprezentovat bohatým příkazem nebo sadou příkazů, které administrátorovi nabídnou kompletní zážitek z příkazové řádky.

    Další sekce pokrývá klíčové koncepty a pojmy Windows PowerShell. Před začátkem vývoje se seznamte s těmito koncepty a termíny.

O Windows PowerShell

Windows PowerShell definuje několik typů příkazů, které můžete použít při vývoji. Tyto příkazy zahrnují: funkce, filtry, skripty, aliasy a spustitelné soubory (aplikace). Hlavním typem příkazu diskutovaným v tomto průvodci je jednoduchý, malý příkaz nazývaný "cmdlet". Windows PowerShell poskytuje sadu cmdletů a plně podporuje přizpůsobení cmdlet podle vašeho prostředí. Runtime Windows PowerShell zpracovává všechny typy příkazů stejně jako cmdlety, a to pomocí pipeline.

Kromě příkazů podporuje Windows PowerShell různé přizpůsobitelné poskytovatele Windows PowerShell, kteří zpřístupňují specifické sady cmdletů. Shell funguje v rámci hostitelské aplikace poskytované Windows PowerShellem (powershell.exe), ale je stejně přístupný i z vlastní hostitelské aplikace, kterou můžete vyvinout podle specifických požadavků. Pro více informací viz Jak funguje Windows PowerShell.

Windows PowerShell Cmdlets

Cmdlet je lehký příkaz používaný v prostředí Windows PowerShell. Runtime Windows PowerShell volá tyto cmdlety v kontextu automatizačních skriptů poskytovaných v příkazové řádku a runtime Windows PowerShell je také programově vyvolává prostřednictvím API Windows PowerShell.

Pro více informací o cmdletech viz Psaní Windows PowerShell Cmdletu.

Windows PowerShell Providers

Při provádění administrativních úkolů může uživatel potřebovat prohlížet data uložená v datovém úložišti (například souborový systém, registr Windows nebo úložiště certifikátů). Aby byly tyto operace jednodušší, Windows PowerShell definuje modul nazývaný poskytovatel Windows PowerShell, který lze použít k přístupu ke specifickému datovému úložišti, například k registru Windows. Každý poskytovatel podporuje sadu souvisejících cmdletů, které uživateli poskytují symetrický pohled na data v úložišti.

Windows PowerShell poskytuje několik výchozích poskytovatelů Windows PowerShell. Například poskytovatel registru podporuje navigaci a manipulaci s registrem Windows. Klíče registru jsou reprezentovány jako položky a hodnoty registru jsou považovány za vlastnosti.

Pokud zpřístupníte datové úložiště, ke kterému bude uživatel potřebovat přístup, možná budete muset napsat vlastního poskytovatele Windows PowerShell, jak je popsáno v části Vytváření poskytovatelů Windows PowerShell. Pro více informací o poskytovatelích Windows PowerShell viz Jak funguje Windows PowerShell.

Hostitelská aplikace

Windows PowerShell obsahuje výchozí hostitelskou aplikaci powershell.exe, což je konzolová aplikace, která komunikuje s uživatelem a hostuje běh Windows PowerShell pomocí konzolového okna.

Jen zřídka budete muset napsat vlastní hostitelskou aplikaci pro Windows PowerShell, i když je podporována možnost přizpůsobení. Jedním z případů, kdy můžete potřebovat vlastní aplikaci, je, když potřebujete GUI rozhraní, které je bohatší než rozhraní poskytované výchozí hostitelskou aplikací. Možná budete chtít vlastní aplikaci, když budete stavět GUI na příkazovém řádku. Pro více informací viz Jak vytvořit hostitelskou aplikaci Windows PowerShell.

Windows PowerShell Runtime

Windows PowerShell runtime je výkonný engine, který implementuje zpracování příkazů. Zahrnuje třídy, které zajišťují rozhraní mezi hostitelskou aplikací a příkazy a poskytovateli Windows PowerShell. Runtime Windows PowerShell je implementován jako objekt pro běžný prostor pro aktuální relaci Windows PowerShell, což je operační prostředí, ve kterém se shell a příkazy spouštějí. Pro provozní podrobnosti viz Jak funguje Windows PowerShell.

Jazyk Windows PowerShell

Jazyk Windows PowerShell poskytuje skriptovací funkce a mechanismy pro volání příkazů. Pro kompletní informace o skriptování viz Windows PowerShell Language Reference, která byla dodávána s Windows PowerShell.

Rozšířený systém typů (Extended Type System – ETS)

Windows PowerShell poskytuje přístup k různým objektům, jako jsou .NET a XML objekty. V důsledku toho shell používá svůj rozšířený typový systém (ETS) pro prezentaci společné abstrakce pro všechny typy objektů. Většina funkcí ETS je pro uživatele transparentní, ale vývojář skriptů nebo .NET ji používá k následujícím účelům:

  • Zobrazení podmnožiny členů konkrétních objektů. Windows PowerShell poskytuje "přizpůsobený" pohled na několik specifických typů objektů.

  • Přidávání členů k existujícím objektům.

  • Přístup k serializovaným objektům.

  • Psaní vlastních objektů.

    Pomocí ETS můžete vytvářet flexibilní nové "typy" kompatibilní s jazykem Windows PowerShell. Pokud jste .NET vývojář, můžete pracovat s objekty pomocí stejné sémantiky, jakou používá jazyk Windows PowerShell pro skriptování, například abyste zjistili, zda objekt vyhodnocuje na .true

    Pro více informací o ETS a o tom, jak Windows PowerShell používá objekty, viz Windows PowerShell Object Concepts.

Programování pro Windows PowerShell

Windows PowerShell definuje svůj kód pro příkazy, poskytovatele a další programové moduly pomocí .NET Frameworku. Nejste omezeni pouze na Microsoft Visual Studio při vytváření vlastních modulů pro Windows PowerShell, ačkoli ukázky uvedené v tomto návodu jsou známy tím, že v tomto nástroji běží. Můžete použít jakýkoli .NET jazyk, který podporuje dědičnost tříd a použití atributů. V některých případech vyžadují Windows PowerShell API, aby programovací jazyk umožňoval přístup k obecným typům.

Programátorská reference

Pro referenci při vývoji pro Windows PowerShell viz Windows PowerShell SDK.

Začínáme s používáním Windows PowerShell

Pro více informací o začátku používání shell Windows PowerShell viz článek Getting Beginning with Windows PowerShell , který je dodáván s Windows PowerShell. Jako úvod pro použití v cmdlet je také dodáván dokument Quick Reference tri-fold.

Obsah tohoto průvodce

Téma Definition
Jak vytvořit hostitelskou aplikaci pro Windows PowerShell Tato sekce popisuje, jak napsat hostitelskou aplikaci, která manipuluje s runspace, a jak napsat hostitelskou aplikaci, která implementuje vlastní hostitelský systém.
Jak vytvořit Windows PowerShell Snap-in Tato sekce popisuje, jak vytvořit snap-in, který se používá k registraci všech cmdlets a poskytovatelů v assembleru, a jak vytvořit vlastní snap-in.
Koncepty Windows PowerShell Tato sekce obsahuje konceptuální informace, které vám pomohou pochopit Windows PowerShell z pohledu vývojáře.

Viz také

Windows PowerShell SDK