Jak vytvářet a spouštět skripty PowerShellu: Podrobný průvodce

Práce s jazykem PowerShell může být fascinující. Představuje totiž přehledné prostředí pro vytváření skriptů, které automatizují každodenní úlohy.

Pro vývojáře se otevírá možnost tvorby komplexních automatizačních skriptů. PowerShell je v tomto směru výjimečný, zejména pokud je využíván k sestavování, testování a implementaci řešení v rámci CI/CD.

Tento článek se zaměří na proces vytváření a spouštění skriptů PowerShell. Detailně si ukážeme, jak na to s využitím VS Code, Notepadu a prostředí Integrated Scripting Environment.

Začněme tedy.

Co je to PowerShell?

PowerShell je všestranný automatizační a konfigurační nástroj. Poskytuje komplexní sadu funkcí pro administrátory, vývojáře a další uživatele, kteří pomocí takzvaných rutin (malých a jednoduchých příkazů) mohou spravovat různé úlohy.

V rámci tohoto balíčku získáte:

Na rozdíl od klasického příkazového řádku je PowerShell dostupný na všech hlavních platformách, včetně Windows, Linux a macOS.

Z technického hlediska je PowerShell postavený na .NET frameworku. Díky tomu podporuje objekty a strukturovaná data, jako jsou JSON, CSV a XML. Vývojáři mohou také využívat REST API s pomocí PowerShell. Klasický příkazový řádek bohužel nic z toho nepodporuje, protože pracuje pouze s textem.

Všechny skripty PowerShell mají příponu .ps1.

Pro práci se skripty v PowerShell je důležité znát následující tři klíčové pojmy:

  • Rutina: Jedná se o samostatný spustitelný skript, který nabízí předem definované funkce. Například Copy-Item se používá pro kopírování, Get-Help pro zobrazení nápovědy nebo Write-Host pro výpis na obrazovku.
  • Aliasy: Aliasy představují zjednodušený způsob odkazování na rutiny a poskytují rychlejší přístup. Nicméně, doporučuje se je používat spíše v interaktivním režimu než při psaní skriptů.
  • Funkce: Funkce představuje sadu příkazů PowerShell. Uživatelé mohou funkci spustit jejím vyvoláním.

PowerShell a skriptování

Skriptování je základní metodou pro automatizaci různých aspektů práce. Ať už jste programátor, administrátor nebo nezávislý pracovník, skriptování dokáže automatizovat běžné pracovní postupy.

Skriptování má mnoho výhod, včetně:

  • Úspora času díky automatizaci.
  • Snadný přenos znalostí.
  • Zajištění konzistence mezi různými systémy.
  • Zlepšení dovedností a zvýšení atraktivity na trhu práce.

Skriptování je možné provádět v prostředí PowerShell, Bash Scripting, Ruby nebo Python.

PowerShell je celkově vynikající nástroj pro skriptování. Windows ale z bezpečnostních důvodů omezuje spouštění skriptů. To může vést k chybám, například „spouštění skriptů je v tomto systému zakázáno“. K vyřešení tohoto problému je nutné nastavit odpovídající zásady provádění (popsáno dále v textu).

Proč používat PowerShell pro skriptování?

Jedním z hlavních důvodů, proč je PowerShell vhodnou volbou pro skriptování, je jeho multiplatformní kompatibilita. Podporuje systémy Windows, Linux i MacOS, což je oproti výchozímu příkazovému řádku systému Windows výhodou.

S PowerShell můžete vytvářet jednoduché úlohy pomocí jeho uživatelsky přívětivých nástrojů. Můžete ho použít například k restartování počítače, pravidelnému mazání cache, nebo dokonce k ověřování relací.

PowerShell se primárně používá pro automatizaci správy systémů. Vývojáři jej ale také mohou využít k testování, sestavování a nasazování aplikací v prostředích CI/CD.

Jak se vytvářejí skripty PowerShell?

K vytvoření skriptů PowerShell je zapotřebí textový editor. Většinou postačí základní textový editor, ale s moderním textovým nebo kódovým editorem bude celý proces mnohem snazší.

Začneme tedy ukázkou tvorby skriptů PowerShell s využitím Visual Studio Code (VS Code). Ukážeme si také, jak vytvářet skripty v Notepadu a v integrovaných prostředích, jako je PowerShell Integrated Scripting Environment (PowerShell ISE).

#1. S VS Code

VS Code je robustní, spolehlivý a bezplatný multiplatformní editor kódu. Je vyvíjen společností Microsoft a nabízí dobrou podporu prostředí PowerShell.

Poskytuje čisté rozhraní ihned po instalaci a je kompatibilní s téměř jakýmkoli programovacím jazykem.

Protože VS Code je editor kódu, podporuje rozšíření. Pro zlepšení práce s PowerShell využijeme rozšíření PowerShell.

Instalace Visual Studio Code

Nejdříve je nutné nainstalovat VS Code.

Navštivte stránku pro stahování Visual Studio Code. Vyberte správnou verzi VS Code dle operačního systému. V našem případě, pro Windows 11, vybereme verzi pro Windows.

Po stažení spusťte instalační program a postupujte dle instrukcí.

Instalace rozšíření PowerShell

Rozšíření PowerShell lze nainstalovat dvěma způsoby. Prvním z nich je vytvoření nového souboru s příponou .ps1.

VS Code automaticky rozpozná, že pracujete s PowerShell a doporučí instalaci rozšíření PowerShell od Microsoftu.

Kliknutím na „Instalovat“ provedete instalaci. Případně kliknutím na „Zobrazit doporučení“ získáte více informací.

Pokud z nějakého důvodu VS Code nedoporučil instalaci rozšíření, je možné jej vyhledat ručně.

Kliknutím na symbol čtyř čtverců (jeden čtvereček vyčnívá) nebo stisknutím Ctrl + Shift + X otevřete okno rozšíření. Nyní vyhledejte „PowerShell by Microsoft“ a klikněte na první výsledek. Následně pokračujte s instalací.

Nakonec se vás systém zeptá, zda důvěřujete autorům souborů v pracovním prostoru. Instalaci dokončíte kliknutím na „Trust Workspace & Install“.

Vytvoření skriptu PowerShell pomocí VS Code

S nainstalovaným VS Code a jeho rozšířeními můžete vytvořit první skript PowerShell.

Pokud nemáte vytvořený nový soubor, postupujte dle následujících kroků.

  • Otevřete VS Code
  • V horní nabídce klikněte na Soubor a poté na Nový textový soubor.
  • Nyní soubor uložte pomocí Soubor > Uložit jako.
  • Zadejte požadovaný název souboru a nezapomeňte přidat příponu .ps1
  • Klikněte na Uložit soubor.

A je to! Nyní můžete vytvořit váš skript. Přidali jsme rutinu Write-Host s hodnotou „Toto je skript kódu VS napsaný pro etechblog.cz“.

Jak spustit skript si ukážeme později, čtěte dál!

#2. S Notepadem

Vytváření skriptů PowerShell v Notepadu je snadné.

Stačí dodržet následující kroky:

1. Otevřete Start a vyhledejte Notepad.

2. Klikněte na něj pravým tlačítkem a vyberte „Otevřít jako správce“.

3. Nyní napište váš skript.

4. Pro náš tutoriál napíšeme: „Toto je skript PowerShell napsaný v notepadu.“

5. V horní nabídce klikněte na Soubor a poté na „Uložit jako“.

6. Zadejte název skriptu PowerShell a klikněte na „Uložit“.

A je to. Úspěšně jste vytvořili skript PowerShell pomocí programu Notepad.

#3. S PowerShell ISE

PowerShell ve Windows má i vlastní integrované skriptovací prostředí. Můžete jej využít k psaní skriptů bez potřeby editorů třetích stran.

Pro jeho použití postupujte dle kroků uvedených níže:

1. Otevřete Start.

2. Vyhledejte „Windows PowerShell ISE“.

3. Vyberte první výsledek, klikněte pravým tlačítkem a poté levým na „Spustit jako správce“. Otevře se okno PowerShell ISE.

4. Klikněte na Soubor a poté na „Nový“. Otevře se nové okno souboru, jak je uvedeno níže.

7. Napište požadovaný skript. Pro náš tutoriál napíšeme: „Toto je skript PowerShell napsaný pomocí PowerShell ISE.“

8. Po dokončení klikněte na Soubor a Uložit jako.

9. Zde zadejte název souboru a klikněte na Uložit.

Skript můžete spustit přímo v prostředí PowerShell ISE. Stačí kliknout na tlačítko RUN v horní části prostředí. Pokud dojde k chybě zabezpečení, přečtěte si, jak ji vyřešit níže.

Jak vyřešit chybu zabezpečení skriptu PowerShell a spustit ho

Jak již bylo zmíněno, systém Windows má přísné zásady zabezpečení při spouštění skriptů. Pro jejich obcházení musíte povolit spouštění skriptů na vašem počítači s Windows.

Postupujte dle následujících instrukcí:

  • Otevřete nabídku Start systému Windows.
  • Vyhledejte PowerShell.
  • Klikněte pravým tlačítkem na aplikaci PowerShell a poté klikněte levým tlačítkem.
  • Vyberte možnost „Spustit jako správce“.
  • Jakmile se PowerShell otevře, zadejte příkaz „Set-ExecutionPolicy RemoteSigned„.
  • Stiskněte Enter a systém vás požádá o potvrzení. Stisknutím „A“ změnu povolíte.

A je to. Nyní můžete spouštět všechny vaše skripty!

Pro PowerShell ISE vypadá spouštění skriptu následovně.

Pro Visual Studio Code to vypadá následovně.

Pro skripty vytvořené v Notepadu je nutné je spustit přímo z příkazového řádku PowerShell.

Doporučené postupy pro psaní a spouštění skriptů PowerShell

Při práci se skripty PowerShell se doporučuje dodržovat osvědčené postupy. Mezi tyto postupy patří:

  • Používání celých názvů rutin namísto aliasů. Aliasy jsou užitečné pouze při interakci s konzolí, zlepšují rychlost interakce, ale mohou poškodit skript.
  • Vyvarovat se používání rutiny Write-Host, protože nabízí omezenou funkčnost. Pouze vypisuje výstup na obrazovku, a to ještě omezeně – například barvou. Vhodnější je použít rutinu Write-Output.
  • Vždy používat podstatné jméno v cmdletu v jednotném čísle.
  • Používat schválené sloveso pro rutinu.
  • Kdykoli je to možné, definovat rozšíření aplikace. Zamezíte tak nejasnostem a zlepšíte čitelnost.
  • Používat specializovaný editor kódu PowerShell, jako je VS Code nebo PowerShell ISE. Tyto editory nabízejí skvělé funkce pro psaní a spouštění skriptů. Je sice možné používat Notepad nebo Notepad++, ale budete omezeni jejich funkčností.
  • Doporučuje se komentovat kód, ale nepřehánět to. Nadměrné komentáře mohou snížit čitelnost a udržitelnost kódu.
  • Zajistit správné nastavení bezpečnostního parametru pro spouštění skriptů PowerShell.

Závěr

A je to! Nyní umíte vytvářet a spouštět skripty PowerShell pomocí Notepadu, VS Code a PowerShell ISE. Pro psaní a spouštění skriptů PowerShell můžete navíc použít kterýkoli z těchto nástrojů.

Jak je ale zmíněno v doporučených postupech, je vhodné se vyhnout psaní skriptů PowerShell v Notepadu nebo Notepad++, protože postrádají mnoho funkcí, které nabízejí specializované editory kódu VS Code a PowerShell ISE.

Závěrem doporučujeme přečíst si článek o tom, jak zkontrolovat verzi PowerShellu a aktualizovat ji na serveru Windows.