Menu
CHIP Speedtest

Používání nového příkazového centra PowerShell

22.08.2010 12:11 | Redakce Chip
Pro pokročilé uživatele mají Windows 7 přichystány vylepšené systémové nástroje – mezi nimi nový Windows PowerShell, který dokáže vyřešit i komplexní úlohy.

Modernizovaný nástroj příkazového řádku PowerShell původně Microsoft zamýšlel už pro Vistu. Nakonec však byl nástroj k dostání jen jako doplněk k bezplatnému stažení. Teprve ve Windows 7 se mezitím vylepšená verze 2.0 stala integrální součástí systému. Starý režim příkazového řádku z Windows XP sice nadále existuje, avšak jeho používání už nemá valný smysl. PowerShell umí všechno lépe: nabízí podstatně více možností, a dokáže dokonce realizovat komplexní úlohy se zřetězenými příkazy.

Nový koncept
Pro spuštění PowerShellu přejděte do nabídky Start na »Všechny programy | Příslušenství | Windows PowerShell« nebo do hledacího pole napište »powershell«. Okno výsledků ukáže tři objekty: »powershell« spouští přímé prostředí příkazů, »Windows PowerShell ISE« jednoduché grafické prostředí, které pomůže především při vývoji skriptů. Jako třetí prvek jsou k dispozici ještě moduly. Pro začátek zvolte přehlednou grafickou variantu. Při častějším používání je vhodné zřídit si k PowerShellu rychlý přístup. Za tím účelem buď vytvořte zástupce na ploše, nebo pravým tlačítkem myši klikněte na program a v místní nabídce zvolte příkaz »Připnout na hlavní panel«.
Na rozdíl od starého příkazového řádku je PowerShell orientován důsledně objektově; opírá se o objekty Microsoft .NET-Framework. Kromě rozšířeného spektra funkcí má i další přednost: k objektům se přistupuje jednotně. Místo dosavadních DOS příkazů nyní nastupují tzv. „cmdlets“ (v češtině se začíná ujímat název „komandlety“), které můžete pomocí znaku »|« (zvaného též „pipe“ nebo „roura“) řetězit uvnitř jednoho řádku. V tom případě komandlet vpravo od »|« zpracuje výstup předchozího komandletu, což umožňuje kompaktní formulaci složitých úloh.

Nová syntaxe
Okno PowerShell ISE je členěno na sekce skriptů, výstupů a příkazů. Tyto oblasti se aktivují kliknutím myší nebo přes nabídku »View«. Pomocí dialogu »File« můžete skripty ukládat, zavádět a v nabídce »Debug« po krocích odlaďovat.
Začněte příkazovým řádkem v sekci příkazů. Prompt PowerShellu ukazuje, stejně jako dříve, aktuální cestu. Názvy příkazů předdefinovaných jako komandlety dodržují jednotnou strukturu „sloveso substantivum“. Například k přechodu do jiného adresáře slouží komandlet »Set Location« s argumentem udávajícím cestu. Obsah složky zobrazí »Get Childitem«. Přehled existujících příkazů získáte prostřednictvím »Get Command«.
I nadále lze používat některé obvyklé „dosové“ příkazy – například změnu aktuálního adresáře zajistí také příkaz »cd« (change directrory). Alespoň jeho vyvolání je dosud možné, jinak totiž Microsoft potají všechny příkazy definoval nově. Pomůckou zde mají být pojmy „alias“, které při zadání zkratky vyvolají nyní odpovídající cmdlet. Seznam definovaných „aliasů“ se vypíše po zadání »Get Alias«. Při použití starých příkazů však musíte mít na paměti, že obvyklé parametry už většinou nefungují, neboť pro komandlety byla definována odlišná syntaxe. Správný způsob zápisu jednotlivých komandletů se dozvíte v nápovědě, například po zadání »Get Help Get Childitem«. Argumentem je vždy komandlet, k němuž potřebujete nápovědu. Uvedený příklad tedy vyvolá nápovědu k »Get Childitem«, komandletu nahrazujícímu starý dobrý příkaz »dir«.
Upozornění: V grafickém prostředí kdykoliv získáte klávesou [F1] nápovědu, buď obecnou, nebo kontextově citlivou na aktuální příkaz.

Řetězení příkazů
Jednoduchý příklad na výpis obsahu složky ukáže, jak koncept komandletů dokáže v několika krocích rozšířit známou funkčnost starého „dosového“ příkazu »dir«. Typická je třeba úloha najít mezi soubory obsaženými v nějaké složce objekty vykazující určité vlastnosti. Hledejme například v daném adresáři pět největších MP3 spouborů. V prostředí PowerShell lze tento úkol rychle vyřešit několika zřetězenými komandlety. Zadejte tedy

Get-Childitem -recurse -include *.mp3 | Sort-Object length -descending | Select-Object -first 5

Tento příkaz nejprve rekurzivně přes všechny složky „vytáhne“ v nich obsažené MP3 soubory a jako objekt je předá dále. V druhém kroku se jejich seznam sestupně seřadí podle velikosti a třetí krok z nich nakonec vybere prvních pět prvků.
Další příklady, které ukazují, jak řešit běžné úlohy pomocí komandletů v prostředí PowerShell, najdete na adrese http://msdn.microsoft.com/en-us/library/dd878287(VS.85).aspx.

Zajímavosti ze světa IT v e-mailu

Stačí odeslat svoji e-mailovou adresu


Odesláním formuláře souhlasíte se zpracováním svých osobních údajů a užitím pro marketingové účely vydavatelství Burda Praha, spol. s.r.o.

Předplatné / nákup chipu Digitální edice chipu Aktuální vydání