Skip to content


«
»

Pohodlné psaní a ladění PowerShell skriptů v PowerShell ISE

MS PowerShell

Pokud si instalujete Microsoft PowerShell, který jsme již na PC Life.cz představovali jakožto nástupce Příkazového řádku s mnoha možnostmi navíc. Kromě klasického konzolového rozhraní PowerShell dostáváte také prostředí ISE (Integrated Scripting Environment), které můžeme považovat jako běžné vývojové prostředí (IDE) jako pro jiné programovací jazyky. PowerShell ISE umožní jednoduše psaní a ladění PowerShell skriptů, možnost jejich ukládání a modifikace. Prostředí také zvýrazňuje syntaxi.

Microsoft PowerShell je poměrně nový skriptovací jazyk (nejen) pro správu Windows. Nahrazuje Příkazový řádek a je jeho výkonnějším nástupcem, přičemž zajistí kompatibilitu příkazů. Již jsme v minulosti PowerShell představili.

Po instalaci MS PowerShell máme k dispozici klasické konzolové rozhraní podobné Příkazovému řádku, v němž vykonáváme příkazy. Jednou ze základních nevýhod je nemožnost jednoduchého uložení napsaných skriptů a jejich ladění. K těmto účelům máme k dispozici vývojové prostředí ISE pracující v grafickém režimu, které je běžným vývojovým prostředím pro PowerShell skripty ve formátu PS1. Srovnejme si na začátek vzhled běžného konzolového prostředí (vlevo) a ISE (vpravo):

Klasické rozhraní PowerShell a vývojové prostředí ISE

Klasické rozhraní PowerShell a vývojové prostředí ISE

Jak je patrné, ISE nabídne mnohem více možností a zejména pohodlné ladění a ukládání skriptů, zatímco běžné prostředí umožní de facto jen spouštět příkazy přímo napsané, případně spouštět skripty. Podívejme se na vypsání příkazu get-date, který vypíše aktuální datum a čas. Stejnou odpověď bychom samozřejmě dostali i v klasickém rozhraní.

Výpis data a času pomocí get-date

Výpis data a času pomocí get-date

Teprve nyní se dostaneme k praktickému použití ISE. Připíšeme další příkazy a vytvoříme tak jednoduchý skript skládající se z několika příkazů:

get-date
get-service
get-hotfix
get-executionpolicy
set-executionpolicy unrestricted

První vypíše datum a čas, druhý vypíše běžící služby, třetí příkaz zobrazí seznam instalovaných aktualizací Windows (hotfix), dále se zjistí stav povolení spouštění skriptů PowerShell a poslední příkaz nastaví povolení pro spouštění skriptů PowerShell v klasickém rozhraní. Tyto příkazy tvoří skript a díky ISE jej jednoduše můžeme uložit a příště opět otevřít a upravit. Bez ISE bychom museli tyto příkazy nakopírovat do nějakého textového editoru a poté uložit jako PS1 soubor. Napsaný skript v ISE můžeme ihned také jednoduše spustit stiskem zeleného trojúhelníčku na panelu nástrojů (obvyklé v řadě vývojových prostředí) či z nabídky DebugRun/Continue či nejrychleji stiskem klávesy F5. Následně PowerShell vypíše příkazy get a změní nastavení spouštění skriptů.

Spuštění skriptu s 5 příkazy v PowerShell ISE

Spuštění skriptu s 5 příkazy v PowerShell ISE

Vpravo dole na stavovém řádku také můžeme pohodlně táhlem měnit velikost písma dle potřeby. Vytvořený skript lze uložit běžnou cestou pomocí nabídky FileSave. Nabídka také umožňuje spuštění klasického rozhraní PowerShell, ve kterém můžeme běžně psát příkazy či spustit námi uložený skript.

Uložení skriptu a další možnosti nabídky File

Uložení skriptu a další možnosti nabídky File

Skript spustíme běžným zadáním cesty, např. c:\mujskript.ps1.

Spuštěný námi uložený skript v klasickém rozhraní PowerShell

Spuštěný námi uložený skript v klasickém rozhraní PowerShell

Je-li aktuálně možnost ExecutionPolicy nastavena na Restricted, skript se nespustí. To jsme ošetřili nastavením povolení přímo v našem skriptu. Toto nastavení platí globálně.

Co dále ISE nabízí? K ladění skriptů se určitě hodí tzv. breakpoints, které slouží k ladění kódu (skriptu) řádek po řádku. Tento režim ladění, tzv. debug mode dobře znají programátoři při ladění kódu aplikace a odchycení chyb. Definujeme-li breakpoint na určitém řádku, u tohoto řádku se skript zastaví. Smyslem tohoto krokování je detekovat chybu, při které aplikace nepracuje jak má. Skript spustíme a testujeme, zda se zastaví na tomto bodě či nikoli. Takto můžeme tzv. krokovat a najít chybu. obrázek ukazuje nastavení breakpoints, tedy místo, kde se aplikaci při běhu zastaví a my můžeme ladit krokováním po řádcích. Jednoduše klikneme do příslušného řádku sekundárním tlačítkem myši a zvolíme Toggle Breakpoint a řádek se červeně označí. Nastavili jsme jej na řádku get-hotfix a posledním vykonaným příkazem skriptu po jeho spuštění bude get-service s výpisem služeb. ISE oznámí umístění breakpoint.

Nastavení breakpoints na určitém řádku k odladění skriptu

Nastavení breakpoints na určitém řádku k odladění skriptu

Tento režim ladění je nezbytný pro vývojová prostředí k postupnému ladění kódu po řádcích. To bychom nemohli nijak udělat bez ISE.

Co tedy PowerShell ISE nabízí? Je to velmi užitečný doplněk ke klasickému prostředí PowerShell. Díky vývojovému prostředí můžeme snadno vytvářet, upravovat a ukládat skripty, stejně jako je ladit pomocí krokování. ISE doplňuje klasické rozhraní a umožní pohodlnou práci se skripty. Díky grafickému rozhraní je tak běžným vývojovým prostředím se zvýrazněním syntaxe a dalšími prvky jako pro jiné programovací jazyky.

 

Rubrika: Ostatní, Počítačové programy, Představení, Tipy.

0 reakcí

Mějte přehled o nových komentářích, přihlašte se k odběru RSS kanálu komentářů tohoto příspěvku.

Některé HTML je povoleno

(vyžadováno)

(vyžadováno, nebude nikde zobrazeno)