PowerShell byl původně vyvinut jako součást systému Windows (Windows PowerShell), ale dnes je jako PowerShell Core dostupný i pro Linux a macOS. Jeho unikátnost spočívá v tom, že s daty nemanipuluje jako s prostým textem, ale jako s bohatými datovými strukturami – objekty.
V tradičních shellech (např. CMD nebo Bash) je výstupem příkazu text. Pokud chcete z výpisu získat jen velikost souboru, musíte text složitě „parsovat“ (řezat a hledat řetězce).
V PowerShellu dostanete objekt. Ten má své vlastnosti (vlastnosti) a metody (činnosti).
* *Příklad:* Příkaz Get-Service nevrátí jen seznam jmen, ale objekty typu „Služba“, u kterých se můžete snadno zeptat na stav: (Get-Service).Status.
Základní příkazy v PowerShellu se nazývají cmdlety. Mají sjednocenou strukturu Sloveso-Podstatné jméno, což je dělá velmi intuitivními:
Get-Process (Získej běžící procesy)Stop-Service (Zastav službu)New-Item (Vytvoř novou položku/soubor)
Stejně jako v jiných shellech, i zde lze příkazy řetězit pomocí symbolu roury |. Protože se však předávají objekty, je to mnohem mocnější:
Get-Service | Where-Object Status -eq „Running“ | Stop-Service
(Najdi všechny služby, které běží, a všechny je zastav.)
PowerShell používá skripty s příponou .ps1. Díky přístupu k celému .NET frameworku a systémovým rozhraním (WMI, COM) je v něm možné automatizovat téměř cokoliv:
| Funkce | Windows PowerShell (5.1 a starší) | PowerShell (7+ / Core) |
|---|---|---|
| Platforma | Pouze Windows | Windows, Linux, macOS |
| Základ | .NET Framework | .NET (Open Source) |
| Výkon | Standardní | Výrazně vyšší |
Get-Help následovaný názvem cmdletu vám podrobně vysvětlí, jak se daný nástroj používá.Související pojmy: CLI, Shell, .NET, Bash, Skriptování, Operační systém, Azure.