Výukový program Powershell pro začátečníky: Naučte se skriptování Powershell

Začněme se učit Powershell Lessons. Nejprve se naučíme:

Co je PowerShell?

Windows PowerShell je objektově orientovaný automatizační stroj a skriptovací jazyk. Je určen především pro IT profesionály a systémové administrátory pro kontrolu a automatizaci správy Windows OS a další aplikace. Poskytuje přesvědčivé nové koncepty pro rozšíření znalostí, které jste získali, a skriptů, které jste v rámci programu vytvořili Windows Příkazový řádek a Windows Prostředí Script Host.

Kombinuje flexibilitu skriptování, rychlost příkazového řádku a výkon nástroje pro správu založeného na grafickém uživatelském rozhraní. Umožňuje vám efektivně řešit problémy tím, že pomáhá správci systému eliminovat budoucí manuální pracovní dobu. Projdeme si všechny důležité aspekty, které byste měli znát, abyste se naučili PowerShell.

Toto je kompletní průvodce základy skriptování v Powershell... můžeme začít!

Proč používat Powershell?

Zde jsou některé důležité důvody pro použití Powershell:

  • Powershell nabízí dobře integrované prostředí příkazového řádku pro operační systém
  • PowerShell umožňuje úplný přístup ke všem typům v rámci .NET
  • Důvěryhodné správci systému.
  • PowerShell je jednoduchý způsob manipulace s komponentami serveru a pracovní stanice
  • Je zaměřen na systémové administrátory tím, že vytváří jednodušší syntaxi
  • PowerShell je bezpečnější než běh VBScript nebo jiné skriptovací jazyky

Historie PowerShellu

První verze PowerShellu 1.0 byla vydána v roce 2006. Dnes je PowerShell ve verzi 7.2. S přibývajícím rokem a verzí výrazně rostly možnosti PowerShellu a hostitelská prostředí.

Podívejte se na historii Powershell podle verzí:

  • PowerShell verze 1 podporoval místní správu Windows Server 2003
  • PowerShell 2.0 byl integrován s Windows 7 a Windows Server 2008 R2. Tato verze podporuje vzdálené ovládání a vylepšuje možnosti PowerShellu, jako jsou transakce, úlohy na pozadí, události, ladění atd.
  • PowerShell 3.0 byl vydán jako interní součást Windows rámec řízení. Byl nainstalován na Windows 8 a Windows Server 2012. Můžete přidávat a plánovat úlohy, konektivitu relace, automatické načítání modulů atd.
  • PowerShell 4.0 byl dodán s Windows 8.1 a Windows Server 2012 R2. V této verzi byla přidána podpora pro konfiguraci požadovaného stavu, rozšířené ladění, diagnostika sítě.
  • PowerShell 5.0 byl vydán jako interní součást Windows management framework 5. Funkce nabízí v této verzi vzdálené ladění, definice tříd, .NET výčty atd.
  • Vyšel PowerShell 7.2. Je postaven na .NET 6.0. Tato verze nabízí nové operátory, zjednodušené a dynamické zobrazení chyb, automatická upozornění na novou verzi atd.

Dále v tomto tutoriálu pro skriptování Powershell se seznámíme s funkcemi Powershell.

Vlastnosti Powershell

  • PowerShell Remoting: PowerShell umožňuje spouštění skriptů a rutin na vzdáleném počítači.
  • Práce na pozadí: Pomáhá vám asynchronně vyvolávat skript nebo kanál. Své úlohy můžete spouštět buď na místním počítači, nebo na více vzdáleně ovládaných strojích.
  • Transakce: Povolí cmdlet a umožní vývojářům provádět
  • Večer: Tento příkaz vám pomůže naslouchat, přeposílat a reagovat na události správy a systému.
  • Síťový přenos souborů: Powershell nabízí nativní podporu pro prioritní, asynchronní, omezený přenos souborů mezi počítači pomocí technologie BITS (Background Intelligent Transfer Service).

Jak spustit PowerShell

Nyní v tomto tutoriálu skriptu Powershell se naučíme, jak spustit Powershell Windows OS.

PowerShell je předinstalovaný ve všech nejnovějších verzích Windows. Potřebujeme spustit PowerShell, k tomu musíme postupovat podle uvedených kroků:

Krok 1) Vyhledejte PowerShell v Windows. Vyberte a klikněte

Spusťte PowerShell

Krok 2) Otevře se okno Power Shell

Spusťte PowerShell

Rutina PowerShell

Rutina, která se také nazývá Command let, je odlehčený příkaz používaný v základním prostředí Windows PowerShell. PowerShell vyvolá tyto rutiny v příkazovém řádku. Můžete vytvořit a vyvolat příkaz rutiny pomocí PowerShell APIS.

Rutina vs. příkaz

Rutiny se liší od příkazů v jiných prostředích příkazového prostředí následujícím způsobem:

  • Cmdlety jsou . NET Framework objekty třídy Nelze provést samostatně
  • Rutiny mohou vytvářet pouze tucet řádků kódu
  • Rutiny nezpracovávají analýzu, formátování výstupu a prezentaci chyb
  • Proces rutin funguje na objektech. Textový proud a objekty tedy nelze předat jako výstup pro zřetězení
  • Rutiny jsou založené na záznamech, takže zpracovávají jeden objekt najednou

Většina funkcí prostředí PowerShell pochází z rutiny, která je vždy ve formátu sloveso-podstatné jméno a nikoli v množném čísle. Navíc rutina vrací objekty, nikoli text. Rutina je řada příkazů, které tvoří více než jeden řádek, uložených v textovém souboru s příponou .ps1.

Rutina se vždy skládá ze slovesa a podstatného jména oddělených pomlčkou. Některá ze sloves, která se používají k tomu, abyste se naučili PowerShell, jsou:

  • Získejte — Získat něco
  • Home — Něco provozovat
  • Ven — Vydat něco
  • Stop — Zastavit něco, co běží
  • sada — Něco definovat
  • Nový — Něco vytvořit

PowerShell příkazů

Níže je uveden seznam důležitých příkazů PowerShell:

Získejte pomoc: Nápověda k příkazům a tématům PowerShellu

Příklad: Zobrazení informací nápovědy k příkazu Formát-tabulka

Get-Help Format-Table

Rutina vs. příkaz

Get-Command: Získejte informace o čemkoli, co lze vyvolat

Příklad skriptu Powershell: Chcete-li vygenerovat seznam rutin, funkcí nainstalovaných ve vašem počítači

Get-Command

Rutina vs. příkaz

Získejte servis: Najde všechny rutiny se slovem 'service'.

Příklad: Získejte všechny služby, které začínají „vm“

Get-Service "vm*"

Rutina vs. příkaz

Získat člena: Ukažte, co lze s předmětem dělat

Příklad: Získejte členy procesů vm.

Get-Service "vm*" | Get-Member

Rutina vs. příkaz

Další příkazy:

  • Získat modul Zobrazí balíčky příkazů
  • Získat obsah Tato rutina může vzít soubor a zpracovat jeho obsah a něco s ním udělat
  • Get-get Najde všechny rutiny začínající slovem 'get-

Příklad: Vytvořte složku

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

Výstup:

Rutina vs. příkaz

Datové typy Powershell

Datové typy Powershell
Datové typy Powershell

Speciální proměnné

Speciální proměnná Description
$Error Pole chybových objektů, které zobrazují nejnovější chyby
$Host Zobrazí název aktuální hostitelské aplikace
$Profil Ukládá celou cestu uživatelského profilu pro výchozí prostředí
$ PID Ukládá identifikátor procesu
$PSUICkultura Drží název aktuální kultury uživatelského rozhraní.
$NULL Obsahuje prázdnou nebo NULL hodnotu.
$False Obsahuje hodnotu FALSE
$Pravda Obsahuje hodnotu TRUE

PowerShell skripty

Skripty Powershell jsou uloženy v souboru .ps1. Ve výchozím nastavení nemůžete spustit skript pouhým poklepáním na soubor. To chrání váš systém před náhodným poškozením. Chcete-li spustit skript:

Krok 1: Klikněte na něj pravým tlačítkem myši a klikněte na „Spustit s PowerShell“.

PowerShell skripty

Navíc existuje politika, která omezuje provádění skriptu. Tuto zásadu můžete zobrazit spuštěním příkazu Get-ExecutionPolicy.

Získáte jeden z následujících výstupů:

  • Omezený— Nejsou povoleny žádné skripty. Toto je výchozí nastavení, takže se zobrazí poprvé při spuštění příkazu.
  • Vše podepsáno— Můžete spouštět skripty podepsané důvěryhodným vývojářem. S pomocí tohoto nastavení si skript před spuštěním vyžádá potvrzení, že jej chcete spustit.
  • RemoteSigned— Můžete spouštět své skripty nebo skripty podepsané důvěryhodným vývojářem.
  • Neomezený— Můžete spustit libovolný skript, který chcete spustit

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

Krok 1) Otevřete zvýšenou výzvu PowerShellu. Klikněte pravým tlačítkem na PowerShell a „Spustit jako správce“

PowerShell skripty

Krok 2) Zadejte následující příkazy

  1. Get-ExecutionPolicy
  2. Nastavit zásady provádění bez omezení
  3. Do výzvy zadejte Y
  4. Get-ExecutionPolicy

PowerShell skripty

První skript PowerShell

Do poznámkového bloku napište následující příkaz

Write-Host "Hello, Guru99!"

Skripty PowerShell mají příponu ps1. Uložte soubor jako FirstScript.ps1

První skript PowerShell

V Powershell zavolejte skript pomocí příkazu

& "X:\FirstScript.ps1"

První skript PowerShell

Co je PowerShell ISE?

Jedno Windows PowerShell Integrated Scripting Environment (ISE) je výchozí editor pro Windows PowerShell. V tomto ISE můžete spouštět příkazy, psát test a ladit skripty v prostředí GUI v základním okně. Můžete provádět víceřádkové úpravy, barvení syntaxe, doplňování tabulátorů, selektivní provádění a spoustu dalších věcí.

Windows PowerShell ISE také umožňuje spouštět příkazy v podokně konzoly. Podporuje však také panely, které můžete použít k současnému zobrazení zdrojového kódu vašeho skriptu a dalších nástrojů, které můžete zapojit do ISE.

Můžete dokonce otevřít více oken skriptů současně. To je zvláště užitečné, když ladíte skript, který používá funkce definované v jiných skriptech nebo modulech.

PowerShell ISE

PowerShell ISE

Stejný skript, který jsme vytvořili v poznámkovém bloku, lze vytvořit v ISE

  1. Vložte kód do editoru
  2. Uložit skript
  3. Pro spuštění skriptu použijte F5
  4. Sledujte výstup v konzole

PowerShell ISE

Ukázka 2:

Následující kód poskytne zdarma Virtuální paměť ve vašem stroji

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

PowerShell ISE

PowerShell Concepts

Nyní v tomto tutoriálu Powershell pro začátečníky se seznámíme s důležitými koncepty Powershell:

Cmdlets Rutiny jsou příkazy build napsané v jazycích .net jako VB nebo C#. Umožňuje vývojářům rozšířit sadu rutin načtením a zápisem modulů snap-in PowerShell.
Funkce Funkce jsou příkazy, které jsou napsány v jazyce PowerShell. Může být vyvinut bez použití jiného IDE jako Visual Studio a vývojáři
Skripty Skripty jsou textové soubory na disku s příponou .ps1
Aplikace Aplikace jsou existující programy pro Windows.
Co když Řekne rutině, aby se nespustila, ale aby vám řekla, co by se stalo, kdyby se rutina spustila.
Potvrdit Dejte rutině pokyn, aby se před provedením příkazu zeptala.
Podrobný Poskytuje vyšší úroveň detailů.
Ladit Dává pokyn rutině, aby poskytla informace o ladění.
ErrorAction Dává pokyn rutině, aby provedla konkrétní akci, když dojde k chybě. Povolené akce pokračují, zastavte se, potichu – pokračujte a zeptejte se.
ErrorVariable Specifikuje proměnnou, která obsahuje informace o chybě.
MimoVariable Řekne rutině, aby použila konkrétní proměnnou k uložení výstupních informací
VenBuffer Dává pokyn rutině, aby podržela konkrétní počet objektů, než zavolá další rutinu v kanálu.

Výhody použití skriptu PowerShell

  • Skripty PowerShellu jsou opravdu výkonné a mohly by dělat spoustu věcí na méně řádcích.
  • Proměnné jsou deklarovány ve tvaru $
  • Proměnné lze použít k uložení výstupu příkazu, objektů a hodnot.
  • „Typ“ proměnné nemusí být specifikován.

PowerShell vs. Příkazový řádek

PowerShell Příkazový řádek
PowerShell se hluboce integruje s Windows OS. Nabízí interaktivní rozhraní příkazového řádku a skriptovací jazyk. Příkazový řádek je výchozí rozhraní příkazového řádku, které poskytuje Microsoft. Je to jednoduchá aplikace win32, která může komunikovat a mluvit s libovolnými objekty win32 v Windows operační systém.
PowerShell používá takzvané rutiny. Lze jej vyvolat buď v běhovém prostředí nebo v automatizačních skriptech. Žádné takové funkce nenabízí příkazový řádek.
PowerShell je považuje za objekty. Výstup tedy může být předán jako vstup dalším rutinám prostřednictvím kanálu. Příkazový řádek nebo dokonce *nix shell, výstup generovaný z rutiny není jen proud textu, ale soubor objektů.
PowerShell je velmi pokročilý, pokud jde o funkce, schopnosti a vnitřní fungování. Příkazový řádek je velmi jednoduchý.

Aplikace Powershell

Dnes se PowerShell stal ideální volbou pro správce IT, protože usnadňuje správu a úsilí ve velkých podnikových sítích. Předpokládejme například, že spravujete velkou síť, která obsahuje více než čtyři sta serverů. Nyní chcete implementovat nové bezpečnostní řešení. Toto bezpečnostní řešení závisí na určité službě, která musí na těchto serverech běžet.

Určitě se můžete přihlásit ke každému serveru a zjistit, zda mají tuto službu nainstalovanou a spuštěnou nebo ne. Určitě to však vyžaduje mnoho lidských chyb, protože vaši zaměstnanci musí tomuto neproduktivnímu procesu věnovat spoustu času.

Pokud však používáte PowerShell, můžete tento úkol dokončit během několika minut. To proto, že celá operace se provádí pomocí jediného skriptu, který shromažďuje informace o službách běžících na serverech.

Shrnutí

  • Windows PowerShell je objektově orientovaný automatizační stroj a skriptovací jazyk
  • Powershell nabízí dobře integrované prostředí příkazového řádku pro operační systém
  • PowerShell první verze 1.0 byla vydána v roce 2006
  • PowerShell umožňuje spouštění skriptů a rutin na vzdáleném počítači
  • PowerShell je předinstalovaný ve všech nejnovějších verzích Windows
  • Rutina je odlehčený příkaz používaný v základním prostředí Windows PowerShell
  • Get, Start, Out, Stop, Set, New jsou důležité příkazy PowerShellu
  • Boolean, Byte, Chat, Decimal, Decimal, Long jsou důležité datové typy prostředí PowerShell
  • $Error. $Host, $Profile, $PID, $PSUICulture, $NULL jsou některé speciální proměnné používané v PowerShellu
  • Jedno Windows PowerShell Integrated Scripting Environment (ISE) je výchozí editor pro PowerShell
  • PowerShell se hluboce integruje s Windows OS, zatímco příkazový řádek je výchozí rozhraní příkazového řádku, které poskytuje Microsoft
  • PowerShell se stal ideální volbou pro správce IT, protože usnadňuje správu a úsilí ve velkých podnikových sítích