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.
Tato příručka programátora je určená pro vývojáře, kteří mají zájem o poskytování prostředí pro správu příkazového řádku pro správce systému. Windows PowerShell nabízí jednoduchý způsob, jak vytvářet příkazy pro správu, které zpřístupňují objekty .NET, a zároveň umožňuje prostředí Windows PowerShell provádět většinu práce za vás.
V tradičním vývoji příkazů musíte napsat analyzátor parametrů, pořadač parametrů, filtry a všechny ostatní funkce vystavené jednotlivými příkazy. Windows PowerShell nabízí následující možnosti, které usnadňují psaní příkazů:
Výkonný modul runtime Prostředí Windows PowerShell (prováděcí modul) s vlastním analyzátorem a mechanismem pro automatické vazby parametrů příkazů.
Nástroje pro formátování a zobrazení výsledků příkazů pomocí interpretu příkazového řádku (CLI).
Podpora vysoké úrovně funkcí (prostřednictvím poskytovatelů Windows PowerShellu), které usnadňují přístup k uloženým datům.
Objekt .NET můžete za cenu reprezentovat příkazem nebo sadou příkazů, které správcům nabízejí kompletní prostředí příkazového řádku.
V další části najdete klíčové koncepty a pojmy prostředí Windows PowerShell. Než začnete s vývojem, seznamte se s těmito koncepty a termíny.
Informace o prostředí Windows PowerShell
Windows PowerShell definuje několik typů příkazů, které můžete použít při vývoji. Mezi tyto příkazy patří: funkce, filtry, skripty, aliasy a spustitelné soubory (aplikace). Hlavní typ příkazu probíraný v této příručce je jednoduchý malý příkaz s názvem "rutina". Windows PowerShell poskytuje sadu rutin a plně podporuje přizpůsobení rutin, aby vyhovovalo vašemu prostředí. Modul runtime Windows PowerShellu zpracovává všechny typy příkazů stejně jako rutiny pomocí kanálů.
Kromě příkazů podporuje Windows PowerShell různé přizpůsobitelné zprostředkovatele Windows PowerShellu, kteří zpřístupňuje konkrétní sady rutin. Prostředí funguje v hostitelské aplikaci poskytované prostředím Windows PowerShell (powershell.exe
), ale je stejně přístupné z vlastní hostitelské aplikace, kterou můžete vyvíjet tak, aby splňovala konkrétní požadavky. Další informace naleznete v tématu Jak windows PowerShell funguje.
Windows PowerShell cmdlety
Rutina je jednoduchý příkaz, který se používá v prostředí Windows PowerShell. Modul runtime Windows PowerShellu tyto rutiny vyvolá v kontextu automatizačních skriptů, které jsou k dispozici na příkazovém řádku, a modul runtime Windows PowerShellu je také programově vyvolá prostřednictvím rozhraní API prostředí Windows PowerShell.
Další informace o rutinách najdete v tématu Zápis rutiny prostředí Windows PowerShell.
Zprostředkovatelé Windows PowerShellu
Při provádění úloh správy může uživatel potřebovat prozkoumat data uložená v úložišti dat (například systém souborů, registr systému Windows nebo úložiště certifikátů). Pro usnadnění těchto operací windows PowerShell definuje modul označovaný jako zprostředkovatel Windows PowerShellu, který se dá použít pro přístup ke konkrétnímu úložišti dat, jako je registr Windows. Každý zprostředkovatel podporuje sadu souvisejících rutin, které uživateli poskytnou symetrické zobrazení dat v úložišti.
Windows PowerShell poskytuje několik výchozích zprostředkovatelů Windows PowerShellu. Poskytovatel registru například podporuje navigaci a manipulaci s registrem Windows. Klíče registru jsou reprezentovány jako položky a hodnoty registru se považují za vlastnosti.
Pokud zveřejníte úložiště dat, ke kterému bude uživatel potřebovat přístup, budete možná muset napsat vlastního zprostředkovatele Windows PowerShellu, jak je popsáno v tématu Vytváření zprostředkovatelů Windows PowerShellu. Další informace o zprostředkovatelích Prostředí PowerShellwindows najdete v tématu Jak windows PowerShell funguje.
Hostitelská aplikace
Windows PowerShell obsahuje výchozí hostitelskou aplikaci powershell.exe, což je konzolová aplikace, která komunikuje s uživatelem a hostuje modul runtime Prostředí Windows PowerShell pomocí okna konzoly.
Pouze zřídka budete muset napsat vlastní hostitelskou aplikaci pro Windows PowerShell, i když je podporováno přizpůsobení. Jedním z případů, kdy můžete potřebovat vlastní aplikaci, je, když máte požadavek na rozhraní grafického uživatelského rozhraní, které je bohatší než rozhraní poskytované výchozí hostitelskou aplikací. Při vytváření grafického uživatelského rozhraní na příkazovém řádku můžete také chtít vlastní aplikaci. Další informace naleznete v tématu Vytvoření hostitelské aplikace prostředí Windows PowerShell.
Windows PowerShell Runtime
Modul runtime Prostředí Windows PowerShell je prováděcí modul, který implementuje zpracování příkazů. Zahrnuje třídy, které poskytují rozhraní mezi hostitelskými aplikacemi a příkazy a poskytovateli Windows PowerShellu. Modul runtime Prostředí Windows PowerShell se implementuje jako objekt runspace pro aktuální relaci Prostředí Windows PowerShell, což je provozní prostředí, ve kterém se prostředí a příkazy spouští. Podrobnosti o provozu najdete v tématu Fungování prostředí Windows PowerShell.
Jazyk Windows PowerShellu
Jazyk Windows PowerShellu poskytuje skriptovací funkce a mechanismy pro vyvolání příkazů. Úplné informace o skriptování najdete v referenční dokumentaci jazyka Windows PowerShellu, která je dodávána s Prostředím Windows PowerShell.
Rozšířený systém typů (Extended Type System – ETS)
Windows PowerShell poskytuje přístup k různým objektům, jako jsou objekty .NET a XML. V důsledku toho, aby bylo možno prezentovat společnou abstrakci pro všechny typy objektů, používá shell svůj rozšířený systém typů (ETS). Většina funkcí ETS je pro uživatele transparentní, ale skript nebo vývojář .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é" zobrazení několika konkrétních typů objektů.
Přidání členů do existujících objektů
Přístup k serializovaným objektům
Psaní přizpůsobených objektů
Pomocí ETS můžete vytvořit flexibilní nové typy, které jsou kompatibilní s jazykem Windows PowerShellu. Pokud jste vývojář rozhraní .NET, můžete pracovat s objekty pomocí stejné sémantiky jako jazyk Windows PowerShellu, například pro skriptování, abyste zjistili, jestli se objekt vyhodnotí jako
true
.Další informace o ETS a o tom, jak Windows PowerShell používá objekty, najdete v tématu Koncepty objektů Prostředí Windows PowerShell.
Programování pro Windows PowerShell
Windows PowerShell definuje kód pro příkazy, poskytovatele a další programové moduly pomocí rozhraní .NET Framework. Nejste omezeni na použití sady Microsoft Visual Studio při vytváření přizpůsobených modulů pro Windows PowerShell, i když ukázky uvedené v této příručce jsou známé pro spuštění v tomto nástroji. Můžete použít libovolný jazyk .NET, který podporuje dědičnost tříd a použití atributů. V některých případech rozhraní API prostředí Windows PowerShell vyžadují, aby programovací jazyk měl přístup k obecným typům.
Referenční dokumentace programátora
Referenční informace o vývoji pro Windows PowerShell najdete v windows PowerShell SDK.
Začínáme s windows PowerShellem
Další informace o tom, jak začít používat prostředí Windows PowerShell, najdete v tématu Začínáme s Prostředím Windows PowerShell dodáván s Prostředím Windows PowerShell. Jako úvod k použití rutiny se také dodává trojnásobný dokument s rychlým odkazem.
Obsah tohoto průvodce
Téma | Definice |
---|---|
Vytvoření zprostředkovatele Windows PowerShellu | Tato část popisuje, jak vytvořit zprostředkovatele Windows PowerShellu pro Windows PowerShell. |
Vytvoření hostitelské aplikace prostředí Windows PowerShell | Tato část popisuje, jak napsat hostitelskou aplikaci, která manipuluje s prostředím Runspace a jak napsat hostitelskou aplikaci, která implementuje vlastního hostitele. |
Vytvoření modulu snap-in Windows PowerShellu | Tato část popisuje, jak vytvořit modul snap-in, který slouží k registraci všech rutin a poskytovatelů v sestavení a vytvoření vlastního modulu snap-in. |
Vytvoření konzolového prostředí | Tato část popisuje, jak vytvořit prostředí konzoly, které není rozšiřitelné. |
koncepty Windows PowerShellu | Tato část obsahuje koncepční informace, které vám pomůžou pochopit Prostředí Windows PowerShell z pohledu vývojáře. |