Windows PowerShell Průvodce programátorem's

Tato Příručka programátora cílí na 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 poskytuje jednoduchý způsob, jak vytvořit příkazy pro správu, které zpřístupňují objekty .net, a současně umožnit Windows PowerShell provádění většiny práce.

V tradičním vývoji příkazů je nutné napsat analyzátor parametrů, parametr Binder, filtry a všechny další funkce vystavené každým příkazem. Windows PowerShell poskytuje následující postup, který usnadňuje psaní příkazů:

  • výkonný modul runtime pro Windows PowerShell (spouštěcí modul) s vlastním analyzátorem a mechanismem pro automatické vázání parametrů příkazu.

  • Nástroje pro formátování a zobrazení výsledků příkazů pomocí překladače příkazového řádku (CLI).

  • podpora pro vysokou úroveň funkčnosti (prostřednictvím poskytovatelů Windows PowerShell), které usnadňují přístup k uloženým datům.

    Za pouhých nákladů můžete představovat objekt .NET pomocí bohatých příkazů nebo sady příkazů, které budou nabízet kompletní prostředí příkazového řádku pro správce.

    v další části se dozvíte o klíčovém Windows PowerShell konceptech a pojmech. Před zahájením vývoje se seznamte s těmito pojmy a podmínkami.

Informace o Windows PowerShellu

Windows PowerShell definuje několik typů příkazů, které lze použít při vývoji. Mezi tyto příkazy patří: funkce, filtry, skripty, aliasy a spustitelné soubory (aplikace). Typ hlavního příkazu popisovaný v této příručce je jednoduchý, malý příkaz s názvem "rutina". Windows PowerShell poskytuje sadu rutin a plně podporuje vlastní nastavení rutiny, které vyhovuje vašemu prostředí. modul runtime Windows PowerShell zpracovává všechny typy příkazů stejně jako rutiny, které používají kanály.

kromě příkazů Windows PowerShell podporuje různé přizpůsobitelné poskytovatele Windows PowerShell, které zpřístupňují dostupné konkrétní sady rutin. prostředí funguje v rámci Windows PowerShell aplikace hostitele (Windows PowerShell.exe), ale je stejně dostupná z vlastní hostitelské aplikace, kterou můžete vyvíjet pro splnění konkrétních požadavků. další informace najdete v tématu jak Windows PowerShell funguje.

Rutiny prostředí Windows PowerShell

rutina je odlehčený příkaz, který se používá v prostředí Windows PowerShell. modul runtime Windows PowerShell vyvolá tyto rutiny v rámci kontextu skriptů automatizace, které jsou k dispozici v příkazovém řádku, a modul Windows PowerShell runtime je také vyvolán programově prostřednictvím rozhraní api Windows PowerShell.

další informace o rutinách najdete v tématu vytvoření rutiny Windows PowerShell.

Windows PowerShell Dodavateli

při provádění úloh správy může uživatel potřebovat prošetřit data uložená v úložišti dat (například systém souborů, Windows registru nebo úložiště certifikátů). aby byly tyto operace snazší, Windows PowerShell definuje modul nazvaný Windows PowerShell poskytovatele, který se dá použít pro přístup ke konkrétnímu úložišti dat, jako je například registr Windows. Každý zprostředkovatel podporuje sadu souvisejících rutin, které uživateli poskytují symetrický pohled na data v úložišti.

Windows PowerShell poskytuje několik výchozích poskytovatelů Windows PowerShell. poskytovatel registru například 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 vystavíte úložiště dat, ke kterému bude mít uživatel přístup, možná budete muset napsat vlastního poskytovatele Windows PowerShell, jak je popsáno v tématu vytváření poskytovatelů Windows PowerShell. další informace o aboutWindowsch zprostředkovatelích prostředí PowerShell najdete v tématu 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 modul runtime Windows PowerShell pomocí okna konzoly.

jenom zřídka budete muset pro Windows PowerShell napsat vlastní hostitelskou aplikaci, i když se přizpůsobení podporuje. Jeden případ, ve kterém budete potřebovat vlastní aplikaci, je v případě, že máte požadavek na rozhraní grafického uživatelského rozhraní, které je širší než rozhraní poskytované výchozí hostitelskou aplikací. Můžete také chtít, aby se vlastní aplikace při založení grafického uživatelského rozhraní na příkazovém řádku. další informace najdete v tématu vytvoření hostitelské aplikace Windows PowerShell.

Windows PowerShell Runtime

modul runtime Windows PowerShell je spouštěcí modul, který implementuje zpracování příkazů. obsahuje třídy, které poskytují rozhraní mezi hostitelskou aplikací a Windows PowerShellmi příkazy a poskytovateli. modul runtime Windows PowerShell je implementován jako objekt prostředí runspace pro aktuální relaci Windows PowerShell, což je provozní prostředí, ve kterém se prostředí a příkazy spouštějí. provozní podrobnosti najdete v tématu jak Windows PowerShell funguje.

Windows PowerShell Language

jazyk Windows PowerShell poskytuje skriptovací funkce a mechanismy pro vyvolání příkazů. úplné informace o skriptování najdete v tématu Windows PowerShell Reference k jazyku dodaným s Windows PowerShell.

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

Windows PowerShell poskytuje přístup k celé řadě různých objektů, jako jsou například .net a objekty XML. V důsledku toho je k dispozici společná abstrakce pro všechny typy objektů, které prostředí používá, ETS (Extended Type System). Většina funkcí ETS je pro uživatele transparentní, ale skript nebo vývojář rozhraní .NET ho používá pro následující účely:

  • Zobrazení podmnožiny členů konkrétních objektů. Windows PowerShell poskytuje "upravené" zobrazení několika specifických typů objektů.

  • Přidávání členů do existujících objektů.

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

  • Zápis přizpůsobených objektů.

    pomocí ETS můžete vytvořit flexibilní nové "typy", které jsou kompatibilní s jazykem Windows PowerShell. pokud jste vývojářem .net, můžete pracovat s objekty pomocí stejné sémantiky, jako Windows PowerShell jazyk se vztahuje na skriptování, například k určení, zda se objekt vyhodnocuje true .

    další informace o ETS a o tom, jak Windows PowerShell používá objekty, naleznete v tématu koncepty Windows PowerShell objektů.

Programování pro Windows PowerShell

Windows PowerShell definuje svůj kód pro příkazy, zprostředkovatele a další programové moduly pomocí .NET Framework. nejste omezeni na použití 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ámy ke spuštění v tomto nástroji. Můžete použít libovolný jazyk rozhraní .NET, který podporuje dědičnost tříd a použití atributů. v některých případech Windows PowerShell rozhraní api vyžaduje, aby programovací jazyk byl schopný získat přístup k obecným typům.

Programátorská reference

referenční informace o vývoji pro Windows PowerShell najdete v sadě SDK pro Windows PowerShell.

Začínáme pomocí Windows PowerShell

další informace o tom, jak začít používat prostředí Windows PowerShell, najdete v Začínáme s Windows PowerShell dodanými s Windows PowerShell. Rychlý odkaz na tri-přeložený dokument je také dodán jako úvod pro použití rutiny.

Obsah tohoto průvodce

Téma Definice
Jak vytvořit zprostředkovatele Windows PowerShellu tato část popisuje, jak vytvořit poskytovatele Windows PowerShell pro Windows PowerShell.
postup vytvoření hostitelské aplikace Windows PowerShell Tato část popisuje, jak napsat hostitelskou aplikaci, která pracuje s prostředím runspace a jak napsat hostitelskou aplikaci, která implementuje vlastního hostitele.
Jak vytvořit modul snap-in Windows PowerShellu Tato část popisuje, jak vytvořit modul snap-in, který se používá k registraci všech rutin a zprostředkovatelů v sestavení a jak vytvořit vlastní modul snap-in.
Jak vytvořit prostředí konzoly 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 Windows PowerShell z pohledu vývojáře.

Viz také

Sada SDK Windows PowerShellu