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 neboWrite-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 rutinuWrite-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.