Zobrazují se příspěvky se štítkemrecenze. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemrecenze. Zobrazit všechny příspěvky

čtvrtek 7. ledna 2010

Recenze: Windows PowerShell 2.0 Best Practices

K Vánocům jsem si pořídil novou knihu o PowerShellu – Best Practices. Autorem je Ed Wilson AKA Scripting Guy. Rozhodně se nejedná o žádnou brožuru do kapsy (narozdíl od například PowerShell Administrator’s Pocket Consultant), má 752 stran a váží víc než můj netbook.

Kniha je rozčleněna do pěti částí (17. kapitol + 6 příloh) a obsahuje CD, na kterém jsou popisované skripty a několik dalších informací. Kniha není určena pro začátečníky. Předpokládá, že znáte základy a ve skriptech nevysvětluje použité konstrukce. Na druhou stranu – pokud jste alespoň o trochu chápavější než dlažební kostka, nebudete mít většinou s pochopením problém a chybějící informaci si dohledáte například v nápovědě.

Na stránkách Microsoft Press si můžete přečíst, jak je kniha členěna (anglicky).

Část 1. – Úvod

Tato část je rozdělena do čtyř kapitol. První dvě se věnují opravdu základům PowerShellu. Novým cmdletům (práce s WMI, *-Computer, …), případně novým parametrům starých cmdletů (např. parametr -ComputerName). Další dvě kapitoly se věnují (pro mne překvapivě) práci s Active Directory včetně ukázky práce s databází nebo Excelem (pro účely importu dat). Pro všechny příklady jsou bohužel použity akcelerátory [ADSI] a [ADSiSearcher] a není zde zmínka od AD cmdletech. Chápu, že ne všichni mají doménu s Windows 2008 R2 serverem, ale osobně bych tyto dvě zmiňované kapitoly oželel. V této části se objevuje i další neduh – osobně nepotřebuji výpisy na tři strany, které dostanu na konzoli jednoduchým příkazem, např. Get-WmiObject Win32_Process | Get-Member.

Část 2. – Plánování

Zde začínám opět výtkou. V knize nazvané Best Practices bych nečekal použití RegRead. Proč??? Pokud lidem ukážeme, že mohou v PowerShellu “používat syntaxi z VBS”, těžko pak budou hledat důvod pro přechod. V prvním příkladu této kapitoly je krásně ukázán největší neduh knihy – opět se vracím k VBS – PowerShell skript s VBS syntaxí. Uvedu jej celý:

$path = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine"
$psv = Get-ItemProperty -Path $path
$psv.RunTimeVersion

Chápal bych tento příklad v kontextu vysvětlení, že jej lze napsat lépe (i bez ztráty čitelnosti), například takto:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" -Name RunTimeVersion

nebo po prostudování nápovědy takto:

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" RunTimeVersion

a pokud chcete opravdu jen číslo verze, není problém použít následující kód:

(Get-ItemProperty -path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine).RunTimeVersion

Zbytek kapitoly se věnuje zjišťování verzí .NETu nebo operačního systému. V další kapitole se mluví a profilech, vytváření funkcí, proměnných, PSDrives (mimochodem tomuto tématu se věnuji v dalším díle seriálu pro TechNet Flash). Další kapitola ukazuje WMI, registry (konečně je zde ukázáno “správné” řešení příkladu z první kapitoly, ale s poznámkou, že řešení je matoucí – nechápu!) Na konci kapitoly je letmo zmíněna .NET třída System.Math a zbytek kapitoly okupuje opět COM (příklad tvorby CAB souboru).

V poslední kapitole je ukázán cmdlet Invoke-Command a poté opět Active Directory. [ADSISearcher], ds* příkazy (proč?) a konečně zmínka a AD cmdletech (ukázán je ovšem pouze jediný). Konec kapitoly je věnován benefitům skriptů.

Část 3. – Design

V návrhu funkcí jsou probírány například vstupní parametry nebo filtry a poté navazuje kapitola o tvobě nápovědy, včetně třinácti pravidel pro psaní efektivních komentářů. V následující kapitole jsou probrány moduly a také tvorba nápovědy pro funkce (?). V další kapitole je ukázána práce se vstupem a výstupem a popsány novinky v PowerShellu v2 z hlediska advanced functions. Ukázána je dále práce s heslem (uložení do souboru, registru, …) a výstupy (soubor, obrazovka). Poslední kapitola se věnuje ošetřování chyb ve skriptech. Osobně bych očekával větší ukázku použití konstrukce try-catch-finally.

Část 4. Testování a nasazení

Popisuje testování z různých pohledů, jako například rychlost nebo komplexnost. Dále jsou popsány parametry Debug a WhatIf. V části nazvané spouštění skriptů je ukázáno jak změnit ExecutionPolicy nebo pracovat s číslování verzí. Vyloženě výsměchem je část nazvaná Understanding Code Signing – na jedné straně se dozvíte, že existuje cmdlet Set-AuthenticodeSignature, ale o jeho použití se nedozvíte vůbec nic (zato jsou ukázány dva screenshoty).

Část 5. – Optimalizace

Tato část je rozdělena na dvě kapitoly. V první je ukazováno logování do souboru, event logu a registru. Poslední kapitola se věnuje debugování pomocí Set-PSDebug a cmdletů *-PSBreakpoint.

Přílohy

Obsahují kapitoly: Seznam cmdletů, Common Verbs, Useful COM Objects, Useful WMI Classes, Useful .NET Classes, WMI Error Messages.

Shrnutí mých dojmů

Z prědchozích řádek je asi jasné jaký bude můj závěr. Musím říct, že kniha mě zklamala. Měl bych dvě hlavní výtky: 1) Knihou prostupuje stín VB Scriptu 2) Obsah mi přijde řazený značně chaoticky – některá témata jsou ukázána na různých místech a pokud si chcete přečíst informace (např. o AD), najdete je “rozházené” po knize. Na to množství stran, si myslím, že užitečných informací je v knize žalostně málo. Pokud čtete help a sledujete blogy, moc nového si neodnesete. Rozhodně se nejedná o žádné Best Practices. Na druhou stranu, každá propagace PowerShellu je dobrá a pokud tato kniha přítáhne k PowerShellu víc lidí, bude to jen dobře. Dobrým počinem knihy jsou i vložené "Inside Track" od lidí jako např. Jeffrey Snover, Brandon Shell a další.

Za oficiální cenu 60 dolarů (38 na Amazonu) si nemyslím, že je tato kniha rozumnou investicí. Rozhodně bych spíše doporučil počkat do konce ledna na Windows PowerShell 2.0: TFM od Sapien Press ($35 za ebook nebo $42 za tištěnou knihu).

neděle 9. srpna 2009

PowerShell in Practice - první pohled

Včera jsem si objednal další knihu o PowerShellu - PowerShell in Practice. Knihu vydá (vysvětlím vzápětí) nakladatelství Manning Publications

Budoucí čas jsem použil zcela záměrně, Manning nabízí možnost přístupu k jednotlivým kapitolám knihy ihned po jejich napsání. To přináší výhody jak pro nakladatele, tak pro čtenáře. Autor je v kontaktu se čtenáři a Ti mohou (ale není to pravidlo) ovlivnit obsah knihy (samozřejmě v určitých mezích). Manning tento program nazývá Manning Early Access Program (MEAP). 

Autorem knihy je Richard Siddaway - PowerShell MVP, zakladatel UK PowerShell User Group, blogger.

První varování - kniha není učebnicí PowerShellu! Obsahuje sice kapitoly PowerShell fundamentals a Learning PowerShell, ale na šedesáti stranách nemůžete očekávat zázraky. Jedná se opravdu o velice lehký úvod. V dalších dvou kapitolách je popsána práce s .NET, COM objekty WMI a také skriptování obecně.

Další kapitoly jsou již brány tématicky a věnují se například práci s uživatelskými účty, mailboxy (Exchange 2007), DNS, AD, IIS 7, SQL Server. Nedá mi to, abych knihu nesrovnával s Windows PowerShell Cookbook od Lee Holmese. V Cookbooku je schéma následující: otázka - odpověď. V PowerShell in Practice je dané téma a toto téma je zpracováno do kapitol. Jak už jsem řekl, vzhledem k rozsahu knihy není možné obsáhnout téma do hloubky.

Zatím jsem knihu jen tak prolétl, ale jsem z ní trochu rozpačitý. Na naučení základů PowerShellu jsou lepší jiné a pokud chcete zvládnout PowerShell pro konkrétní produkt, jsou zde popsány základy a na trhu existují i podrobnější knihy (např. pro AD nebo Exchange). na druhou stranu - já si knihu kupoval s tím, že se dozvím právě ty základy ovládání produktů, se kterými nepracuji a to kniha splňuje. Mimoto jsem měl kupón na slevu 37%, takže jsem za zhruba 300 Kč získal další relativně dobrý zdroj névých informací.

Ke knize se ještě vrátím až ji budu mít pročtenou podrobněji.

pondělí 17. listopadu 2008

Windows PowerShell™ v1.0: TFM®, 2nd Edition

Jak jsem již psal dříve, stal jsem se majitelem knihy Windows PowerShell TFM. Dostal jsem ji jako cenu za hodnocení PowerScripting Podcastu. Myslím, že spíš než kvalitou hodnocení, to bylo exotičností mého bydliště (myslím tím pro lidi z US) Vybral jsem si papírovou knihu a byl jsem velmi překvapen, když mi po 14 dnech přišel link na stažení PDF verze. Nicméně, jak se říká - darovanému koni na zuby nehleď. Ihned jsem se pustil do čtení. Další překvapení se dostavilo po několika dnech, kdy mi přišla i kniha papírová. Psal jsem zpět, jestli se nejedná o nějaký omyl, ale bylo mi pouze popřáno pěkné čtení. Takže mohu kombinovat čtení obou verzí knihy.

Knihu vydalo nakladatelství SAPIEN Press a nyní je v druhé edici. Existuje již edice třetí, ale ta se zabývá PowerShellem v2 a ještě není dostupná v papírové podobě. Papírová kniha stojí oficiálně 60 dolarů, ale v on-line obchodech ji můžete sehnat o mnoho levněji, např.: SAPIEN Press ($41,99) nebo Amazon ($37,79). Elektronická stojí na stránkách SAPIENu 33,99 dolarů. Která z verzí je lepší? Při rozdílu necelých deseti dolarů sázím já osobně na papírovou podobu. Je potřeba samozřejmě připočítat poštovné. Elektronická verze je zamčená a nejde tisknout. V patě každé stránky je vytištěn text, kde je napsáno, komu kniha náleží. Dost řečí, pojďme se podívat na obsah knihy.

Autoři knihy (Don Jones a Jeffery Hicks, oba PowerShell MVP) jsou v PowerShell komunitě dobře známí. Oba pracují pro SAPIEN jako "scripting gurus". Z předchozí věty je jasné, že jsou oba odborníky na slovo vzatými. Knihu rozdělili do čtyř částí:
  • Interaktivní používání PowerShellu
  • Skriptování v PowerShellu
  • Praktické příklady administrace Windows
  • Pokročilé techniky
První část se zabývá použitím konzole PowerShellu. Autoři ukazují základní techniky práce a nepouští se do žádných extrémnějších příkladů. I tak je tato část nabita množstvím informací a je to možná to nejlepší, co kniha obsahuje. 

Ve druhé části autoři popisují možnosti tvorby skriptů včetně používání např. regulárních výrazů. V závěru jsou popsány tipy pro tvorbu skriptů.

Třetí část je zaměřena na administrátory systému Windows a dává jim do ruky tipy pro práci se systémem. Jedná se například o práci se soubory, registry, službami, WMI nebo Active Directory.

Poslední, čtvrtá, část ukazuje pokročilejší témata a to včetně práce s COM objekty, .NET Frameworkem, XML dokumenty. Ukazuje například i tvorbu vlastních objektů nebo pohledů.

Nechci zde vyjmenovávat postupně všechny kapitoly, obsah je (včetně ukázkových kapitol) dostupný na stránkách knihy. Pro mne osobně byla kniha velice přínosná. Pro začátečníka je dle mého názoru stravitelnější než skvělá Payetova PowerShell in Action. Tu jsem začal číst před několika měsíci a nyní se k ní hodlám vrátit. Z knihy jsem měl pocit, že některé části byly psány s větší pečlivostí (možná rozdílný přístup autorů?). Občas jsem našel překlepy a objevil jsem i několik příkladů, ve kterých byly chyby. Ani to však nijak zásadně nesnížilo celkový dojem z knihy. Knize bych dal známku jedna a s klidným srdcem ji mohu doporučit jako vhodný zdroj pro studium PowerShellu.

pátek 14. listopadu 2008

Školení PowerShell - den pátý + shrnutí

Ráno jsme začali Modulem 10, Objekty COM a WMI. Všechny konstrukce známe a už používáme PowerShell ryze prakticky. Nejdříve jsme si ukázali, jak lze přes COM přistupovat na různé aplikace jako je například Internet Explorer nebo Excel. Ve druhé části modulu jsme se trošku podrobněji podívali na použití cmdletu Get-WmiObject a pan Malina nám ukázal některá jeho vylepšení v PowerShellu CTP2.

Před obědem jsme se věnovali Modulu 11, Chyby a ladění v PowerShellu. Ukázali jsme si parametr -ErrorAction, zachycování výjimek a použití cmdletu Set-PSDebug. Opět jsme se koukli na novinky ve verzi CTP2. V Modulu 13 jsme se podívali na Rozšíření PowerShellu (Modul 12 jsme prozatím přeskočili). Nebudu vyjmenovávat všechno, ale zmínili jsme se například o PSCX nebo PowerGUI.

Poslední - 14. modul se zabýval tématem Některé další možnosti PowerShellu. Probrali jsme "chuťovky", které byly zmiňovány v průběhu týdne a které se nevešly do žádného jiného modulu. Jednalo se o vzdálený přístup přes PowerShell, regulární výrazy a operátor -f.

Závěrečné zhodnocení kurzu
Tak skriptovací týden skončil. Rozhodně to nebyl ztracený čas. Šel jsem na kurz s tím, že některé věci budu vědět, ale že se i hodně naučím. Kladně hodnotím přístup pana Maliny. Jeho okamžitá reakce na dotazy (pokud ne okamžitá, tak v průběhu přestávek) a znalost PowerShellu obecně je velkou devizou kurzu. Postupovali jsme od základů, přes cmdlety až po složitější tématiku a myslím, že každý dokázal tempo v klidu udržet. Na kurzu jsem našel asi jedinou vadu - byl bych spokojen, kdyby trval asi tak měsíc :)

Na úplný závěr malé doporučení:

Get-MHD -WithChange | Where {$_.Station -eq "Koh-i-Noor"} | Out-Gopas

čtvrtek 13. listopadu 2008

Školení PowerShell - den čtvrtý

V dopolední části jsme ještě zhruba do jedenácti hodin "dojížděli" modul o souborech. Praktická cvičení na konci byla opravdu ryze praktická a procvičila nás jak v příkazech cyklu a funkcích, tak i v cmdletech pro práci se soubory.

Modul 8, Možnosti .NET Frameworku - na ten jsem se hodně těšil. .NET občas používám ve svých skriptech, ale zatím je to metodou chaosu a pokusů. Ucelenější popis použitelných tříd "nikde" neexistuje (samozřejmě pokud pominu MSDN, kde je vše super popsáno a zatím jsem tam našel vše, co jsem potřeboval). Ukázali jsme si přímý přístup ke třídám a poté jsme se věnovali těm, které jsou pro administrátory užitečné. Nebudu je všechny vyjmenovávat, ale zmínili jsme se například o vzdálené správě služeb nebo připojení do databáze.

Práce s Active Directory byl název Modulu 9. Ukázali jsme si několik způsobů, jak přistupovat do Active Directory přes .NET, ADSI, Quest AD cmdlets a pomocí PSDrive z balíku PSCX. Jinými možnostmi přístupu jsme se nezabývali, což ovšem nebylo na škodu, protože i tak jsme toho měli na probrání, zkoušení a sledování opravdu hodně.

Dnešek byl plný hodně zajímavých věcí a různé upřesňující dotazy a odpovědi byly skvělým kořením.

středa 12. listopadu 2008

Školení PowerShell - den třetí

Tak po dnešku se přesuneme za polovinu kurzu, takže doufám, že začneme s odvážnějšími tématy. Ráno jsme dojeli soubory (CSV, XML), probrali cmdlety Out-* a začali jsme Modul 6 - Řízení běhu skriptu v PowerShellu. Už teď mohu zodpovědně prohlásit, že zas tak úplně podle knihy nejedeme. Slouží spíš jako referenční příručka, kde jsou vysvětleny příklady. Kurz jako takový - a hlavně okamžitou reakci na dotazy - nenahradí.

Začali jsme podmínkami a smyčkami (if, switch, while, foreach, ...) a ukázali si pár příkladů. Vyzkoušeli jsme si umístění větve default v příkazu switch a dostali jsme se do pěkných filosofických debat. Závěrečný příklad na foreach byl moc hezký (vypsat barevně procesy podle alokované paměti) - já ho řešil jako one-liner. Což se mi nevyplatilo hned při dalším cvičení, kdy jsme měli "skript" z předchozí úlohy přepsat jako funkci a předat jí parametr. Takže jsem stejně musel jít do IDE a pracovat v něm. Funkce jsme probrali včetně bloků BEGIN, PROCESS, END a ukázali jsme si tím pádem i práci funkce v rouře. Po funkcích následoval - zcela podle předpokladů - čas věnovaný filtrům.

Modul 7 - Souborový systém a dle názvu jasně určené téma. Zabývali jsme se výpisy (Get-ChildItem), přejmenováním (Rename-Item), kopírováním (Copy-Item), přesouváním (Move-Item) a mazáním (Remove-Item). Závěrečný příklad prověřil skvěle naše znalosti. Mé řešení bylo následující:

$i=1;$d=(get-date -u "%Y-%m-%d"); ls |? {!($_.PSIsContainer)} | sort LastWriteTime |% {rni $_ -n "$d-$i";$i++}

Nerozumíte mu? Přijďte na kurz - pan Malina vás rád uvidí :)

úterý 11. listopadu 2008

Školení PowerShell - den druhý

Ráno jsme začali trošku zlehka krátkou ukázkou některých použitelných PowerShell editorů. Po této "rozcvičce" začala pravá zábava - objekty a Modul 3 - Objektové myšlení a objektově orientované programování.

Vše je objekt - heslo na další hodinu. Vysvětlení začalo standardním popisem "objektu auto" a předvedením jeho vlastností a metod. Toto bylo dále rozvedeno na několika příkladech z reálného (např. dům) i virtuálního (Win32_Share) života. Plynule jsme navázali na cmdlet Get-Member - dle lektorova (i mého) názoru asi nejužitečnějšího z celé škály (trochu odbočka: jeho popis mám už rozpracován a doufám, že se mi podří jej dokončit v několika málo dnech). Trochu jsme naťukli i technologii COM a poté se zanořili zpět do objektů a podívali se na PSbase a jeho bratříčky.

Modul 4 - Roura (pipeline) v PowerShellu neboli začínáme dělat divy :) Na začátek byla popsána výhoda roury a poté rozdíl mezi textovou (*NIX) a objektovou (PS) rourou. Samozřejmě byly ukázány krátké příklady. Celý modul jsme zakončili přehledem příkazů pracujících s objekty v rouře (ForEach-Object, Where-Object, ...).

V Modulu 5 - Tok a ukládání dat v PowerShellu - jsme začali s proměnnými a jejich přiřazováním, přetypováním a různými divokými operacemi. Probrali jsme operátory (+=, -=, ...) a přešli jsme na práci s poli. Přiřazovali jsme různé hodnoty a probírali se indexováním všemi směry. Lehce jsme se dotkli asociativních polí (hešů) a jejich požití při formátování výstupů (např. v příkazu Get-EventLog). Posledním tématem tohoto dne byla práce s textovými soubory. A to jak klasické TXT soubory, tak i využití CSV pro uchovávání objektů a jejich opětovné vyvolávání.

pondělí 10. listopadu 2008

Školení PowerShell - den první

Tak jsem se po dlouhé době dočkal a mohl vyrazit do počítačové školy Gopas na týdenní školení PowerShellu. Kurz vede Patrik Malina velký propagátor non-GUI řešení na platformě Windows. Už jsem u něj absolvoval v Gopasu dvě školení: MOC2433 (základy skriptování ve WSH) a MOC2439 (skriptování pomocí WMI) a zůčastnil jsem se několika jeho přednášek. Jeho styl výkladu je mi velmi blízký a příjemný.

Jak jsem předpokládal, osnova kurzu se bude řídit podle knihy PowerShell - podrobný průvodce skriptováním, jejíž je pan Malina autorem. Všichni účastníci kurzu ji na začátku dostali jako studijní materiál (což mi udělalo radost, protože tu svojí koupenou můžu dál používat jako pracovní a novou mohu dát hezky do knihovny mezi ostatní PowerShell knihy).

Ráno jsme začali lehkým představením prostředí školy a obsahu kurzu. Poté již přišel na řadu Modul 1, který byl nazván Windows scripting concepts and technologies a zabýval se historií ovládání Windows z příkazové řádky a skriptu (cmd.exe, WSH, WMI, PowerShell). Již první příklad postavil před některé z nás zapeklitou úlohu :)

Modul 2 s názvem Zprovoznění PowerShellu a základy práce v prostředí nás již vrhl do víru toho "správného Shellu". Instalace (které předcházel kratičký nástin .NET) a vysvětlení Set-ExecutionPolicy nás před obědem pěkně připravily na odpolední část. Tu jsme začali popisem základního chování konzole: doplňování pomocí klávesy TAB, Verb-Noun, neinteraktivní běh a povídání o historii a přepisu příkazů. Probrali jsme interaktivní režim a podrobněji se podívali i na chování a možnosti přepínačů. Ihned poté jsme se vrhli na $PROFILE a úpravu promptu, což rozpoutalo první složitější dotaz, který byl vzápětí prompt-ně zodpovězen. Ke konci dne jsme se bavili o aliasech a skončili jsme filozofií PSDrives, kde jsme dělali další ze zajímavých příkladů.

pondělí 29. září 2008

PowerScripting Podcast review

[Update 5.10. 17:15]
Právě mi přišel mail od Hala Rottenberga. Stal jsem se jedním z vítězů :) Již jsem si vybral knihu - Windows PowerShell™ v1.0: TFM® 2nd Edition. Přemýšlel jsem také o Managing Active Directory with Windows PowerShell: TFM®, ale tu si koupím časem do práce.

[Česky]
V jednom z předchozích PowerScripting podcastů byla uveřejněna "soutěž" o dvě knihy od SAPIEN Press. Podmínkou je napsání recenze na podcasty. Máte šanci do 2.října. Podrobněji na http://powerscripting.wordpress.com/

[English - PowerScripting Podcast Review]
I started to listen PowerScripting Podcasts few weeks ago. I found it during my "Hunt for PS sources". So immediately I created the script and download all previous PS podcasts to my computer - now it's more than 36 hours of PS talking.

This podcast has some advantages for PowerShellers:
  • Overview of latest cool PowerShell scripts, some of them you can't miss - here you have it at one place.
  • Jonathan & Hal are well known IT guys and they knows the things they are talking about - small plus for podcasts.
  • It's not just talking about PowerShell - it's talking about PS and all the world around, including VM, AD and other technologies.
  • What I really like is an interview with interesting people. I can learn a lot from them - guys like Jeffrey Snover, Jeff Hicks, Greg Shields and others can teach me a lot. At least to hear their thinking is very useful.
  • The good thing is also when I hear that those big guys are doing things the same way as me (better - I am doing it like they) - Then I know that the way of scripting is not an impasse.
  • Last but not least - for me is very good to listen English and I now am using "cool" more in my daily life :) Of course it's because PowerShell IS cool.
As an conclusion: Listen-Podcast(PowerScripting Podcast)


čtvrtek 18. září 2008

Recenze: PowerShell - Podrobný průvodce skriptováním

Prozatím jediná kniha o PowerShellu v češtině pochází z pera jednoho z největších propagátorů administrace Windows přes příkazovou řádku - Patrika Maliny. Patrik Malina je lektorem v počítačové škole Gopas, kde má na starost mimojiné kurzy skriptování (VBS, WMI) a PowerShellu.

Kniha je rozdělena do šesti kapitol a je doslova nacpaná informacemi. Zabývá se jak teoretickými informacemi (historie), základní prvky jazyka (cmdlets, konstrukce, ...), tak i praktickými administrátorskými úlohami.

Kapitola 1, Přehled možností skriptování ve Windows popisuje vývoj příkazového řádku ve Windows od MS-DOSu až do současnosti a ukazuje i možnosti skriptování na této platformě (např. WSH). Informuje čtenáře o rozhraní ADSI a rozhraní pro WMI. Na konci kapitoly je uvedena krátce historie PowerShellu a zmíněny dva další často používané nástroje: příkaz wmic a LogParser - oběma se autor věnuje podrobně dále v knize.

Kapitola 2, Základy prostředí PowerShell tvoří spolu s kapitolou tři nosnou část knihy. V této jsou popisovány příkazy, bez kterých se při další práci v PowerShellu prostě neobejdete. Autor začíná nastavením prostředí, spuštěním prvních příkazů a hned přechází k tématu cmdlets, čili příkazů PowerShellu. Jedním z hodně užitečných - a často opomíjených - je i Get-Help. Po tomto rozjezdu následuje kapitola o rouře, která je jedním ze základních použitých principů. Autor se zmiňuje i o příkazu ForEach-Object, který základem pro zpracování dat tekoucích rourou. Dále je v kapitole zmíněn vstup a výstup dat, jak v prostředí příkazové řádky, tak například při práci se soubory (např. CSV, XML). V poslední části je zmíněna práce s objekty, což je pro PowerShell jedna ze základních vlastností.

Kapitola 3, Jazyk PowerShell se začíná blížit skriptování ve VBS. Na začátku jsou vysvětleny konstrukce - podmínky, větvení (if, while, for, ...) a vytváření funkcí. K zajímavým částem patří možnosti ladění a tzv. error handling. Po této "programátorské" části se již dostává na řadu práce se souborovým systémem a registry. Autor se poté vrací opět k "programování", další kapitola se věnuje využití .NET v PowerShellu, což je téma, se kterým se v praxi setkáte určitě velmi často. Následuje popis práce s Active Directory a s WMI. Krátce je také zmíněn mechanismus regulárních výrazů. Kapitola je ukončena popisem možností práce s COM. Pokud perfektně zvládnete témata této kapitoly, jste na dobré cestě.

Kapitola 4, PowerShell v akci ukazuje praktické administrátorské postupy a jejich řešení v PowerShellu. Jedná se hlavně o práci s logy, službami, procesy a Active Directory. Okrajově je zmíněna například administrace MS Exchange 2007.

Kapitola 5, Jiné možnosti administrace skripty popisuje dva nástroje zmiňované v úvodu knihy: příkaz wmic a LogParser (který je popsán opravdu velice dobře).

Kapitola 6, Referenční příručka PowerShellu je již pouze jakýmsi "shrnutím" celé knihy a popisuje pohromadě některé cmdlets.

Hodnocení

Vzhledem k velikosti trhu je jistě záslužným činem, že se někdo do takovéto práce pustil. Nutno ovšem říct, že pan Malina má přehled a určitě ví jaký je u nás o PowerShell zájem (byl mimojiné přednášejím na Gopas TechEd nebo setkání WUG). Kladně hodnotím množství informací v knize obsažených - pozorný čtenář si odnese opravdu velké množství informací. Co mě na knize naopak zklamalo je rejstřík - v porovnání s anglickými knihami, které mám ve své knihovně, je žalostný. Proto mám v knize množství záložek a na vnitřích deskách plno svých poznámek a odkazů dovnitř knihy.

Pro první seznámení s PowerShellem mohu knihu jen doporučit. Pokud se budete ovšem chtít dostat hlouběji, bez anglické literatury se stejně neobejdete. Knize bych dal známku dva.