Seriál Windows PowerShell: Script Browser & Script Analyzer (část 47.)

Pokud se pohybujete ve světě skriptování delší dobu, určitě jste prošli následujícím kolečkem:

  1. Otevřu oblíbený prohlížeč a oblíbený vyhledávač.
  2. Zadám text, pomocí kterého vyhledám skript.
  3. Skript stáhnu, upravím, použiji.

Microsoft před nějakou dobou vytvořil nástroj Script Explorer, který umožňoval vyhledávat skripty z různých zdrojů a poté je vkládat přímo do ISE. Vývoj tohoto nástroje byl posléze bohužel ukončen. Nicméně požadavek komunity na podobný nástroj zde stále existoval.

V listopadu 2013 na MVP Summitu ukázal vývojový tým zárodek budoucího nového nástroje, který nazvali Script Browser. Posbírali množství komentářů a v dubnu tohoto roku vydali první oficiální verzi. Chvíli po vydání této verze byly uvolněny další dvě, které opravovaly některé chyby a zároveň zapracovaly další požadavky uživatelů. V současné době je tedy aktuální Script Browser 1.2. Součástí instalace je i Script Analyzer. Co tyto nástroje umí?

Vyhledávání skriptů

Hlavním úkolem Script Browseru je vyhledávání skriptů na TechNetu (ano, zatím pouze na imageTechNetu). Po instalaci doporučuji podívat se na Nastavení (dostupné přes ikonu ozubeného kola v pravém horním rohu). Zde si nastavte cestu k ukládání stažených skriptů.

Můžete si nastavit filtr pro vyhledávání (klikněte přímo na slovo Filters). Poté již jenom zadejte vyhledávané slovo nebo frázi. Na následujícím obrázku je vidět část výsledku při vyhledávání skriptů pro Azure.

Po nalezení skriptu je otevřete (dvojklikem či tlačítkem Open) a skript si můžete prohlédnout. Lze také jeho část (nebo samozřejmě celý) zkopírovat do schránky. Pokud chcete, můžete si skript přidat do položky Favorites.

Nejzajímavější možností je samozřejmě stažení skriptu na lokální počítač. Po stažení se přidá skript na záložku Downloads a ve složce, kterou jste nastavili, se uloží jak samotné skripty, tak podpůrné soubory – nejzajímavější je HTML soubor s nápovědou, resp. kopií TechNet stránky.

image

Kontrola skriptů

Druhým nástrojem, který je součástí instalace je Script Analyzer. Tento nástroj vám na základě určitých pravidel doporučí změny ve vašem kódu. Pojďme si jej ukázat na několika skriptech z TechNetu.

Nejprve se podíváme na nastavení. V rámci nastavení určujeme, které části kódu bude Script Analyzer kontrolovat.

image

Když kliknete na určité pravidlo, zobrazí se k němu krátký popis toho, co hlídá. Například právě označené pravidlo varuje před použitím cmdletu Invoke-Expression. Pokud nechám zapnutá všechna pravidla a pustím scan sckriptu, zobrazí se mi následující hlášení:

image

Jedná se o pravidlo hlídající použití pozičních parametrů u cmdletů:

image

Pokud se vám některé pravidlo nelíbí a nechcete jej mít zapnuté, můžete jej jednoduše odškrtnout a ve skriptu nebude kontrolováno.

Na dalším příkladu vidíte kontrolu pravidla pro vytváření jmen funkcí. Jak víte, cmdlety by měly dodržovat jmennou konvenci Verb-Noun. Toto pravidla je dobré v rámci dobrých mravů dodržovat i pro vaše vlastní funkce:

image

V plánu je vytváření dalších pravidel. I vy můžete navrhnout pravidlo, které považujete za vhodné. Pomocí linku v nastavení o něj můžete požádat zde: https://scriptanalyzer.codeplex.com/workitem/list/basic

Osobně mám vypnuté pravidlo pro hlídání Invoke-Expression. Pokud existuje cmdlet a já jej použiji, jsem si jist, co dělá. Stejným způsobem bych vypl navrhované pravidlo o oznamování přítomnosti cmdletu Write-Host. V některých případem mi nenávist vůči tomuto cmdletu přijde až přehnaná J

Musím říct, že tyto dva nástroje považuji za velmi užitečné a doufám, že budou dále rozvíjeny tak, aby některé z navrhovaných funkcí byly implementovány co nejdříve. Myslím, že by si to PowerShell komunita zasloužila.

Určitě je vyzkoušejte, ještě jednou připomínám, že aktuálně poslední verze je 1.2.

David Moravec, MVP
Mainstream Technologies