Seriál: Windows Powershell - Nadstavby PowerShellu (část 9.)

Dnes se podíváme mimo standardní cmdlety dodávané přímo s PowerShellem a řekneme si něco o zdarma dostupných rozšířeních. Zároveň si ukážeme zdroje, které je dobré sledovat.

PowerGUI

PowerGUI je možná nejznámější, zdarma šířený, nástroj pro PowerShell. Obsahuje administrátorskou konzoli a editor skriptů.

clip_image002

Administrátorská konzole je podobná MMC konzoli (v3) a skládá se ze tří hlavních částí – stromové struktury, hlavního panelu a panelu akcí. Konzoli je možno rozšířit pomocí takzvaných management packů (analogie se snap-iny v MMC) a v současné době těchto management packů existuje několik desítek. Dostupné jsou na adrese [[www]]. Celý management pack je vlasně PowerShell skript, zabalený ve specifickém XML souboru (PowerGUI pro vás tento XML soubor generuje automaticky).

clip_image004

Druhou částí PowerGUI je editor skriptů. Dle mého názoru se jedná o velice zdařilý nástroj a pokud píšete skripty, měli byste mu určitě věnovat pozornost (a porovnat, zda vám nebude vyhovovat lépe, než standardně dodávané PowerShell ISE). Editor obsahuje všechny základní vlastnosti, které si můžeme jako administrátoři přát (vývojářům možná budou některé části chybět). Funguje zde Intelli-Sense (doplňování např. Vlastností a metod objektů, doplňování jmen proměnných, ...), obsahuje možnost vkládání Snippetů (připravené složitější konstrukce), pěkně funguje debugování, zvýraznění syntaxe nebo například šikovný export skriptu do HTML, které pak můžete umístit na své stránky.

Před několika málo měsící uvedla firma Quest na trh také PowerGUI Pro. To obsahuje navíc možnost napojení na některý ze softwarů pro verzování a také možnost běhu PowerShellu přes webové rozhraní.

PSCX

PowerShell Community Extensions – jeden z prvních projektů, který před několika lety rozšířil možnosti PowerShellu v1 o velice zajímavé skripty. V současné době obsahuje 149 skriptů, například pro práci s archivy, HTML/XML nebo některé více „programátorské“, např. Invoke-GC. V současné době jsou dostupné dvě verze: produkční 1.2 dostupná jako PSSnapin, kompatibilní i s PS v1 a verze 2.0 Beta 2, která je dostupná pouze pro verzi 2 a instaluje se z modulu.

SQLPSX

SQL Server PowerShell Extensions – projekt, za kterým stojí hlavně Chad Miller. Obsahuje množství skriptů pro správu SQL serveru a pokud vám nestačí dva cmdlety dodávané se SQL serverem, zde si určitě vyberete. V poslední verzi byl do SQLPSX přidán modul pro práci v ISE (sqlise) a chystá se i database object browser (pak už opravdu nebudu potřebovat SSMS J U slqise bych se rád na chvilku zastavil po importování tohoto modulu se v menu objeví dvě nové položky: ISE Pack (o něm až za chvilku) a SQL Ise.

clip_image006

Pokud potřebujete udělat dotaz do vaší databáze, mohli byste postupovat třeba takto:

  • V ISE naimportujte modul: ipmo sqlise. Uvidíte, že se vám změní prompt.
  • Připojte se na danou databázi.
    clip_image008
  • V editoru zadejte jednoduché query (všimněte si, že jej schválně zadávám neformátovaný)
    clip_image010
  • Pomocí klávesové zkratky CTRL+4 nechte sqlise váš kód naformátovat.
    clip_image012
  • Stiskněte CTRL+ALT+F5 a tím dotaz spustíte. Po chvíli se vám objeví výstup v GridView. Title GridView je stejný jako jsou souboru v ISE – v mém případě tedy Untitled.ps1.
    clip_image014

Vzhledem k tomu, že celý isepack je psaný v PowerShellu není problém si jej upravit pro své potřeby. Některé základní možnosti konfigurace jsou dostupné přes menu Add-ons/SQLIse/Options

clip_image016

PowerShell Pack – WPK

S Windows 7 byl uvolněn také Resource Kit, který obsahuje jednu zajímavou část – Windows PowerShell Pack. Tento balík se skládá z několika modulů z nichž nejzajímavější je bezesporu WPK (Windows Presentation Foundation (WPF) PowerShell Pack) – sada skriptů pro tvorbu grafického rozhraní. Obsahuje 716 různých skriptů a jeho možnosti jsou prostě ohromné. S trochou trpělivosti můžete vytvořit jakékoli GUI. Například lehká obměna pro 10. úkol letošních Scripting Games by mohla vypadat takto:

New-Label "$((gwmi win32_computersystem).UserName)" -FontSize 30 -Show

clip_image018

Dalším nástrojem pro tvorbu grafických rozhraní jsou např. také PowerBoots od Joela Bennetta. I když jsou oba projekty velmi pěkné, pro někoho může být překážkou, že vytváření grafických komponent není úplně intuitivní. V tomto případě se může hodně hodit následující nástroj.

PrimalForms Community Edition

Pokud vám psaní GUI z příkazové řádky přijde nepohodlné (čemuž bych se opravdu nedivil), můžete použít PrimalForms Community Edition – další zdarma dostupný nástroj, tentokrát od firmy Sapien (nejznámější je zřejmě jejich nástroj PrimalScript, který se používá ve všech skriptovacích MOC kurzech).

clip_image020

Pomocí přetažení prvků z levého seznamu do formuláře si můžete navrhnout design a PrimalForms potom automaticky vygenerují kód. Do tohoto kódu poté pouze doplníte obsluhu jednotlivých prvků. Pokud jste někdy uvažovali a vytváření formulářů, tento nástroj se vám do začátků bude určitě hodit.

ISE pack

Zajímavý modul rozšiřující PowerShell ISE (součást PowerShell Packu). Do menu přidává několik užitečných rozšíření z nichž některé jsou vidět na následujícím obrázku.

clip_image022

Některé zajímavé zdroje

Samozřejmě, že předchozí seznam není úplný. Pokud vás PowerShell pořádně „chytne“ začnete hledat další dostupné zdroje a zajímavé skripty. Kromě těch několika, které jsem uvedl v některých předcházejících částech by se vám mohly hodit ty následující:

Script Repository

Podcasty

Twitter

Na Twitteru má účet opravdu hodně lidí z PowerShell světa (včetně například J. Snovera). Můžete se podívat na PowerShell Twitterers list nebo na Twitteru hledat hashtag #PowerShell.

Samozřejmostí je pro vás určitě sledování blogu vývojového týmu PowerShellu: https://blogs.msdn.com/powershell/

- David Moravec