Powershell výukový program pro začátečníky

⚡ Chytré shrnutí

PowerShell Scripting je objektově orientovaný automatizační engine postavený na frameworku .NET. Kombinuje cmdlety, skripty a skriptovací jazyk, které pomáhají IT administrátorům automatizovat. Windows, spravovat služby a připojovat vzdálené počítače z jednoho příkazového řádku.

  • ???? Spusťte správný shell: Otevřete PowerShell nebo PowerShell ISE z nabídky Start a spusťte jej jako správce, pokud potřebujete zvýšená oprávnění.
  • 🧩 Používejte cmdlety, nikoli textové příkazy: Rutiny se řídí vzorem pojmenování sloveso-podstatné jméno a vracejí objekty .NET, takže výstup může proudit do další rutiny prostřednictvím kanálu.
  • 🔐 Pečlivě si nastavte zásady provádění: Použijte Set-ExecutionPolicy s RemoteSigned pro vyvážení bezpečnosti a pohodlí při spouštění skriptů .ps1.
  • 📁 Pište opakovaně použitelné skripty .ps1: Kombinujte rutiny, proměnné a kanály v textovém souboru s příponou .ps1 pro automatizaci opakujících se úloh správy.
  • 🤖 Spárujte PowerShell s umělou inteligencí: Asistenti s umělou inteligencí převádějí požadavky v jednoduché angličtině na připravené skripty PowerShellu a řádek po řádku vysvětlují neznámé rutiny.

Powershell výukový program pro začátečníky

Co je PowerShell?

Windows PowerShell je objektově orientovaný automatizační engine a skriptovací jazyk. Je určen pro IT profesionály a systémové administrátory, kteří potřebují řídit a automatizovat administraci Windows a další aplikace. PowerShell rozšiřuje koncepty probrané v Windows Příkazový řádek a Windows Hostitel skriptů s novými objekty, rutinami a výkonným kanálem.

Kombinuje flexibilitu skriptování, rychlost příkazového řádku a hloubku grafického uživatelského rozhraní pro správu. Díky němu mohou administrátoři efektivně řešit problémy a eliminovat hodiny manuální práce. Tento tutoriál vás provede základy, které potřebujete k naučení se PowerShellu od nuly.

Proč používat PowerShell?

Nejdůležitější důvody pro použití PowerShellu jsou:

  • Nabízí dobře integrované prostředí příkazového řádku pro operační systém.
  • Poskytuje úplný přístup ke všem typům v .NET frameworku.
  • Důvěryhodný pro správce systémů napříč podniky.
  • Umožňuje manipulovat s komponentami serveru a pracovní stanice pomocí několika řádků.
  • Určeno pro systémové administrátory s čistou syntaxí sloves a podstatných jmen.
  • Bezpečnější než běh VBScript nebo jiné starší skriptovací jazyky.

Historie PowerShellu

PowerShell 1.0 byl poprvé vydán v roce 2006. PowerShell je nyní ve verzi 7.2 a novější. S vydáváním nových verzí se jeho možnosti a hostitelská prostředí výrazně rozrostly.

Historie PowerShellu podle verzí:

  • PowerShell 1.0 — podporovaná místní správa Windows Server 2003.
  • PowerShell 2.0 — integrovaný s Windows 7 a Windows Server 2008 R2. Přidána vzdálená komunikace, transakce, úlohy na pozadí, události a ladění.
  • PowerShell 3.0 — dodáváno s Windows 8 a Windows Server 2012 jako součást Windows Management Framework. Přidány plánované úlohy, připojení relací a automatické načítání modulů.
  • PowerShell 4.0 — dodáváno s Windows 8.1 a Windows Server 2012 R2. Přidána konfigurace požadovaného stavu, vylepšené ladění a diagnostika sítě.
  • PowerShell 5.0 — část Windows Management Framework 5. Přidáno vzdálené ladění, definice tříd a výčty .NET.
  • PowerShell 7.2 — postaveno na .NET 6.0. Přidává nové operátory, dynamické zobrazení chyb a automatická oznámení o verzích.

Funkce PowerShellu

  • Vzdálená komunikace PowerShellu: spouštět skripty a cmdlety na vzdáleném počítači.
  • Úkoly na pozadí: spouštět skripty nebo kanály asynchronně na lokálním počítači nebo na mnoha vzdálených počítačích.
  • Transakce: umožňují cmdlets a vývojářům provádět seskupené operace, které lze společně potvrdit nebo vrátit zpět.
  • Eventy: naslouchat, předávat a reagovat na události managementu a systému.
  • Síťový přenos souborů: nativní podpora pro prioritní, asynchronní a omezený přenos souborů mezi počítači prostřednictvím služby Background Intelligent Transfer Service (BITS).

Jak spustit PowerShell

PowerShell je předinstalován ve všech novějších verzích WindowsSpusťte jej následovně.

Krok 1) Vyhledejte PowerShell v Windows, poté jej vyberte a klikněte.

Spusťte PowerShell

Krok 2) Otevře se okno PowerShellu.

Okno PowerShell

Rutina vs. příkaz

A cmdlet (vyslovuje se „command-let“) je odlehčený příkaz používaný v prostředí PowerShellu. PowerShell spouští rutiny (cmdlets) na příkazovém řádku a vy si můžete vytvořit vlastní pomocí rozhraní API PowerShellu. Rutiny (cmdlets) se od tradičních příkazů shellu liší v následujících ohledech:

  • Cmdlety jsou . NET Framework objekty třídy; nelze je spustit jako samostatné spustitelné soubory.
  • Cmdlety lze napsat v pouhých tuctu řádků kódu.
  • Analýzu, formátování výstupu a prezentaci chyb zajišťuje běhové prostředí, nikoli samotná rutina.
  • Rutiny pracují s objekty, takže textové streamy i objekty mohou protékat kanály.
  • Rutiny jsou založeny na záznamech a zpracovávají vždy jeden objekt.

Většina funkcí PowerShellu je poskytována prostřednictvím rutin, které vždy používají vzorec pojmenování sloveso-podstatné jméno (vždy v jednotném čísle). Rutiny vracejí objekty, nikoli text. skript — na rozdíl od cmdletu — je to série příkazů uložených v textovém souboru s .ps1 rozšíření.

Mezi běžná slovesa, která budete používat k učení PowerShellu, patří:

  • Získejte — něco získat.
  • Home — něco spustit.
  • Ven — něco vytisknout.
  • Stop — zastavit něco, co běží.
  • sada — definovat něco.
  • Nový — něco vytvořit.

Důležité příkazy PowerShellu

Získejte pomoc: zobrazit nápovědu k příkazům a tématům PowerShellu.

Příklad: zobrazení nápovědy pro Format-Table příkaz.

Get-Help Format-Table

Rutina Get-Help

Get-Command: získat informace o čemkoli, co lze vyvolat.

Příklad: vygenerování seznamu cmdletů a funkcí nainstalovaných v počítači.

Get-Command

Rutina Get-Command

Získejte servis: vyhledá všechny služby na počítači.

Příklad: získejte všechny služby, jejichž název začíná na „vm“.

Get-Service "vm*"

Rutina Get-Service

Získat člena: ukázat, co se dá s objektem dělat.

Příklad: seznam členů služeb virtuálních počítačů vrácených funkcí Get-Service.

Get-Service "vm*" | Get-Member

Rutina Get-Member

Další užitečné cmdlety:

  • Get-Module — zobrazit nainstalované balíčky příkazů.
  • Get-Content — číst soubor a zpracovat jeho obsah.
  • Get-* zástupný znak — vypíše všechny cmdlet začínající na „Get-“.

Příklad: vytvoření složky.

New-Item -Path 'X:\Guru99' -ItemType Directory

Výstup:

Výstup nové položky

Datové typy PowerShellu

PowerShell podporuje standardní datové typy .NET, takže můžete libovolnou hodnotu čistě uložit do proměnné.

Datové typy PowerShellu

Speciální proměnné

PowerShell nabízí řadu vestavěných speciálních proměnných. Ty nejužitečnější jsou uvedeny níže.

Speciální proměnná Description
$Error Pole objektů chyb představujících nejnovější chyby.
$Host Zobrazuje název aktuální hostitelské aplikace.
$Profil Ukládá úplnou cestu k uživatelskému profilu pro výchozí shell.
$ PID Ukládá identifikátor procesu.
$PSUICkultura Obsahuje název aktuální kultury uživatelského rozhraní.
$NULL Obsahuje prázdnou nebo nulovou hodnotu.
$False Obsahuje booleovskou hodnotu FALSE.
$Pravda Obsahuje booleovskou hodnotu TRUE.

PowerShell skripty

Skripty PowerShellu jsou uloženy v .ps1 soubory. Ve výchozím nastavení nelze skript spustit dvojitým kliknutím – toto zabezpečení chrání systém před náhodným poškozením. Chcete-li spustit skript, klikněte na něj pravým tlačítkem myši a vyberte „Spustit s PowerShellem“.

Spustit s PowerShellem

Zásady provádění řídí, které skripty se mohou spouštět. Aktuální zásady si můžete zobrazit pomocí Get-ExecutionPolicyMožné hodnoty zahrnují:

  • Omezený — nejsou povoleny žádné skripty. Toto je výchozí nastavení.
  • Vše podepsáno — spouštějí se pouze skripty podepsané důvěryhodným vývojářem a každý z nich vyžaduje potvrzení.
  • RemoteSigned — spouštějí se vaše vlastní skripty a také podepsané skripty z důvěryhodných zdrojů.
  • Neomezený — lze spustit jakýkoli skript (používejte střídmě).

Kroky ke změně zásad provádění:

Krok 1) Otevřete příkazový řádek PowerShellu s oprávněními ke zvýšení oprávnění kliknutím pravým tlačítkem myši na PowerShell a výběrem Spustit jako správce.

Spuštění PowerShellu jako správce

Krok 2) Spusťte níže uvedené příkazy.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. vstoupit Y na potvrzovací výzvu.
  4. Get-ExecutionPolicy

Změna zásad provádění

První skript PowerShell

Otevřete Poznámkový blok a napište:

Write-Host "Hello, Guru99!"

Uložte soubor s a .ps1 rozšíření – například FirstScript.ps1.

Uložit FirstScript.ps1

V PowerShellu spusťte skript s tímto příkazem:

& "X:\FirstScript.ps1"

Spusťte soubor FirstScript.ps1

Co je PowerShell ISE?

Jedno Windows Integrované skriptovací prostředí PowerShellu (ISE) je výchozí editor pro PowerShell. V ISE můžete spouštět příkazy, psát testy a ladit skripty v grafickém prostředí založeném na okně. Podporuje víceřádkovou editaci, barvení syntaxe, doplňování tabulací, selektivní spouštění a další.

PowerShell ISE také nabízí konzolový panel, který spouští příkazy přímo, zatímco boční panely zobrazují zdrojový kód vašich skriptů a všech nástrojů připojených k ISE. Můžete otevřít více oken skriptů najednou – což je užitečné při ladění skriptů, které závisí na funkcích definovaných v jiných skriptech nebo modulech.

PowerShell ISE

Znovu vytvořte dřívější skript v ISE:

  1. Vložte kód do editoru.
  2. Uložte skript.
  3. Stiskněte F5 pro jeho spuštění.
  4. Sledujte výstup v podokně konzole.

Spuštění skriptu v ISE

Ukázka 2: Následující skript zobrazí volné virtuální paměť na stroji.

Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory

Bezplatný skript pro virtuální paměť

PowerShell Concepts

Následující koncepty tvoří slovní zásobu každodenní práce s PowerShellem.

Pojem Description
Cmdlets Vestavěné příkazy napsané v jazycích .NET, jako je VB nebo C#. Vývojáři rozšiřují sadu načtením nebo napsáním modulů snap-in PowerShellu.
Funkce Příkazy napsané v samotném jazyce PowerShell, bez nutnosti IDE, například Visual Studio.
Skripty Textové soubory na disku s .ps1 rozšíření.
Aplikace Stávající Windows programy volané ze shellu.
Co kdyby Říká rutině, aby se nespustila, ale aby popsala, co by se stalo, kdyby se tak stalo.
Potvrdit Dává cmdlet pokyn, aby se před spuštěním dozvěděl/a o provedení operace.
Podrobný Poskytuje vyšší úroveň provozních detailů.
Ladit Dává rutině pokyn k vygenerování ladicích informací.
ErrorAction Definuje, co cmdlet provede v případě chyby. Povolené hodnoty: continue, stop, silentlycontinue, inquire.
ErrorVariable Pojmenovává proměnnou, která obsahuje informace o chybě.
MimoVariable Říká rutin��, aby uložila svůj výstup do určité proměnné.
VenBuffer Uchovává určitý počet objektů před jejich odesláním do kanálu.

Výhody používání PowerShellových skriptů

  • PowerShellové skripty jsou výkonné a stručné – v několika řádcích toho dosáhnete hodně.
  • Proměnné se deklarují pomocí $<variable> syntax.
  • Proměnné mohou obsahovat výstup příkazů, objekty a primitivní hodnoty.
  • Typ proměnné není nutné explicitně specifikovat.

PowerShell vs. příkazový řádek

PowerShell Příkazový řádek
Hluboce integrováno s WindowsNabízí interaktivní příkazový řádek a plnohodnotný skriptovací jazyk. Výchozí rozhraní příkazového řádku poskytované MicrosoftJednoduchá Win32 aplikace, která komunikuje s jinými Win32 objekty.
Používá cmdlety, které lze vyvolat interaktivně nebo prostřednictvím automatizačních skriptů. Žádné rutiny (cmdlety).
Zachází s výstupem jako s objekty, aby mohl být předán do další rutiny prostřednictvím kanálu. Výstupem je prostý proud textu, nikoli objekty.
Pokročilé funkce, možnosti a interní architektura. Základní shell, vhodný pro starší dávkové úlohy.

Aplikace PowerShellu

PowerShell se stal standardní volbou IT administrátorů, protože dramaticky snižuje úsilí ve velkých podnikových sítích. Představte si, že spravujete více než čtyři sta serverů a zavádíte nové bezpečnostní řešení, které závisí na konkrétní službě běžící na každém hostiteli.

Ruční přihlašování ke každému serveru je pomalé a náchylné k chybám. Jeden PowerShellový skript dokáže během několika minut prozkoumat každý server, nahlásit, na kterých hostitelích je služba spuštěna, a dokonce ji povolit na ostatních. Skript zachytí záměr jednou a spolehlivě jej aplikuje na celý server.

Nejčastější dotazy

PowerShell automatizuje Windows správa systému – správa služeb, souborů, uživatelů a serverů – prostřednictvím objektově orientovaného příkazového řádku a skriptovacího jazyka postaveného na frameworku .NET.

cmdlet je lehký objekt třídy .NET, který používá název složený ze slovesa a podstatného jména a vrací objekty. Tradiční příkaz v jiných shellech vydává prostý text a sám se stará o parsování a formátování.

PowerShell pracuje s objekty a podporuje cmdlety, skriptování a hlubokou integraci .NET. Příkazový řádek je základní textový shell, jehož příkazy vydávají prostý text, nikoli objekty.

Soubor .ps1 je skript PowerShellu – textový soubor obsahující jeden nebo více příkazů PowerShellu. Ve výchozím nastavení jej nelze spustit dvojitým kliknutím; spouští se z konzole nebo pomocí příkazu Spustit s PowerShellem.

Otevřete PowerShell jako správce a spusťte příkaz Set-ExecutionPolicy s hodnotou, jako je RemoteSigned nebo Unrestricted, a poté jej potvrďte. Aktuální nastavení zkontrolujte pomocí příkazu Get-ExecutionPolicy.

Integrované skriptovací prostředí (ISE) je vestavěný editor grafického uživatelského rozhraní PowerShellu pro psaní, spouštění, testování a ladění skriptů s barevným zvýrazněním syntaxe, doplňováním pomocí tabulace a více tabulacemi skriptů.

Asistenti s umělou inteligencí navrhují rutiny, vysvětlují chování skriptů a detekují chyby během psaní. Pomáhají správcům rychleji automatizovat úlohy a převádět požadavky v jednoduché angličtině na funkční příkazy PowerShellu.

Ano. Asistenti AI kódu generují kompletní PowerShellové skripty z popisu v jednoduché angličtině, například „vypsat všechny zastavené služby a restartovat je“, a vysvětlují každou rutinu, abyste si ji mohli před spuštěním projít.

Shrňte tento příspěvek takto: