PowerShell pro začátečníky

Při práci s PowerShellem se poprvé setkáváme s příkazy (Cmdlet).
Volání příkazu vypadá takto:

Sloveso-Podstatné jméno -Parametr1 TypHodnoty1 -Parametr2 TypHodnoty2[]

Nápověda

Volání nápovědy v PowerShellu se provádí pomocí příkazu Get-Help. Můžete zadat jeden z parametrů: example, detailed, full, online, showWindow.

Get-Help Get-Service -full vrátí kompletní popis fungování příkazu Get-Service
Get-Help Get-S* zobrazí všechny dostupné příkazy a funkce začínající na Get-S*

Na oficiálních stránkách Microsoftu je také podrobná dokumentace.

Zde je příklad nápovědy pro příkaz Get-EventLog

PowerShell pro začátečníky

Pokud jsou parametry uzavřeny v hranatých závorkách [], jsou volitelné.
To znamená, že v tomto příkladu je samotný název protokolu povinný, zatímco název parametru není. Pokud je typ parametru a jeho název uzavřen ve závorkách dohromady, pak je tento parametr volitelný.

Pokud se podíváte na parametr EntryType, uvidíte hodnoty, které jsou uzavřeny ve složených závorkách. Pro tento parametr můžeme použít pouze předdefinované hodnoty ve složených závorkách.

Informaci o tom, zda je parametr povinný, vidíme v popisu níže v poli Required. V uvedeném příkladu je atribut After volitelný, protože u Required stojí false. Dále vidíme pole Position, naproti kterému je napsáno Named. To znamená, že k parametru se lze dostat pouze podle jména, tedy:

Get-EventLog -LogName Application -After 2020.04.26

Protože u parametru LogName místo Named bylo uvedeno číslo 0, to znamená, že můžeme k parametru přistupovat bez názvu a zadat ho ve správném pořadí:

Get-EventLog Application -After 2020.04.26

Předpokládejme také takový pořádek:

Get-EventLog -Newest 5 Application

Alias

Abychom mohli používat obvyklé příkazy z konzole v PowerShellu, existují aliasy (pseudonymy).

Příklad aliasu pro příkaz Set-Location je cd.

To znamená, že místo výzvy k příkazu

Set-Location "D:"

můžeme použít

cd "D:"

Historie

Chcete-li si prohlédnout historii volání příkazů, můžete použít Get-History.

Proveďte příkaz z historie Invoke-History 1; Invoke-History 2

Vymazat historii Clear-History

Pipeline

Pipeline v PowerShellu je, když výsledek provedení první funkce se předá druhé. Zde je příklad použití pipeline:

Get-Verb | Measure-Object

Abychom lépe porozuměli pipeline, vezměme si jednodušší příklad. Existuje příkaz

Get-Verb "get"

Pokud zavoláte pomoc Get-Help Get-Verb -Full, uvidíme, že parametr Verb přijímá pipline input a v závorkách je napsáno ByValue.

PowerShell pro začátečníky

To znamená, že můžeme přepsat Get-Verb "get" na "get" | Get-Verb.
To znamená, že výsledek prvního výrazu je řetězec a ten je předáván do parametru Verb příkazu Get-Verb přes pipline input podle hodnoty.
Pipline input může také být ByPropertyName. V tomto případě budeme předávat objekt, který má vlastnost se stejným názvem jako Verb.

Proměnné

Proměnné nejsou striktně typované a jsou zadávány s tím, že před nimi je symbol $.

$example = 4

Symbol > znamená umístit data do
Například, $example > File.txt
Tímto výrazem umístíme data z proměnné $example do souboru.
Analogicky k příkazu Set-Content -Value $example -Path File.txt.

Arrays

Inicializace pole:

$ArrayExample = @(“První”, “Druhý”)

Inicializace prázdného pole:

$ArrayExample = @()

Získání hodnoty podle indexu:

$ArrayExample[0]

Získat celé pole:

$ArrayExample

Přidání prvku:

$ArrayExample += “Třetí”

$ArrayExample += @(“Čtvrtý”, “Pátý”)

Třídění:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Ale samo pole zůstává při takovém třídění nezměněno. A pokud chceme, aby v poli byla seřazená data, musíme provést přidělení seřazených hodnot:

$ArrayExample = $ArrayExample | Sort

Ve skutečnosti neexistuje mechanismus pro odstranění prvku z pole v PowerShell, ale můžeme to udělat tímto způsobem:

$ArrayExample = $ArrayExample | where { $_ -ne “První” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Odstranění pole:

$ArrayExample = $null

Cycles

Syntaxe cyklů:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

K provedení příkazu break.

K provedení příkazu continue.

Podmínkové příkazy

if () {} elseif () {} else

switch($someIntValue){
  1 { “Možnost 1” }
  2 { “Možnost 2” }
  default { “Nastaveno není” }
}

Funkce

Definice funkce:

function Example () {
  echo &args
}

Spuštění funkce:

Example “První argument” “Druhý argument”

Definování argumentů ve funkci:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Spuštění funkce:

Example -first “První argument” -second “Druhý argument”

Výjimka

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster