Pri práci s PowerShellom je prvé, s čím sa stretávame, príkazy (Cmdlet).
Vyvolanie príkazu vyzerá takto:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Pomoc
Vyvolanie nápovedy v PowerShelli sa uskutočňuje pomocou príkazu Get-Help. Môžete zadať jeden z parametrov: example, detailed, full, online, showWindow.
Get-Help Get-Service -full vráti úplný popis funkcie príkazu Get-Service.
Get-Help Get-S* zobrazí všetky dostupné príkazy a funkcie začínajúce na Get-S*.
Na oficiálnej stránke Microsoftu je tiež podrobná dokumentácia.
Tu je príklad nápovedy k príkazu Get-Eventlog.

Ak sú parametre uzavreté v hranatých zátvorkách [], sú voliteľné.
V tomto príklade je teda názov denníka povinný, zatiaľ čo názov parametra nie. Ak sa typ parametra a jeho názov nachádzajú spolu v zátvorkách, tento parameter je voliteľný.
Ak sa pozrieme na parameter EntryType, vidíme hodnoty uzavreté v zložených zátvorkách. Pre tento parameter môžeme použiť iba preddefinované hodnoty zo zložených zátvoriek.
Informácie o tom, či je parameter povinný, môžeme vidieť v popise nižšie v poli Required. V uvedenom príklade je atribút After voliteľný, pretože vedľa Required je napísané false. Ďalej vidíme pole Position, vedľa ktorého je napísané Named. To znamená, že na parameter sa môžeme obrátiť iba podľa názvu, teda:
Get-EventLog -LogName Application -After 2020.04.26Keďže pre parameter LogName namiesto Named bolo uvedené číslo 0, to znamená, že na parameter sa môžeme obrátiť bez mena, ak ho uvedieme v správnom poradí:
Get-EventLog Application -After 2020.04.26Predpokladajme aj takýto poriadok:
Get-EventLog -Newest 5 ApplicationAlias
Aby sme mohli používať známe príkazy z konzoly v PowerShelli, existujú aliasy (Alias).
Príklad aliasu pre príkaz Set-Location je cd.
Teda namiesto vyvolania príkazu
Set-Location "D:"môžeme použiť
cd "D:"História
Aby ste si mohli pozrieť históriu volaní príkazov, môžete použiť Get-History.
Vyvolať príkaz z histórie Invoke-History 1; Invoke-History 2.
Vyčistiť históriu Clear-History.
Pipeline
Pipeline v PowerShelli je, keď sa výsledok vykonania prvej funkcie odovzdáva druhej. Tu je príklad použitia pipelinu:
Get-Verb | Measure-ObjectAby sme lepšie pochopili pipeline, vezmime si jednoduchší príklad. Existuje príkaz
Get-Verb "get".Ak vyvoláte nápovedu Get-Help Get-Verb -Full, uvidíme, že parameter Verb prijíma pipline input a v zátvorke je napísané ByValue.

To znamená, že môžeme prepísať Get-Verb „get“ na „get“ | Get-Verb.
To znamená, že výsledok prvého výrazu je reťazec a je prenášaný ako parameter Verb príkazu Get-Verb prostredníctvom pipline input na základe hodnoty.
Tiež môže byť pipline input ByPropertyName. V tomto prípade odovzdávame objekt, ktorý má vlastnosť so podobným názvom Verb.
Premenné
Premenné nie sú prísne typované a sú definované s uvedením znaku $ pred nimi.
$example = 4Znak > znamená umiestniť dáta do
Napríklad, $example > File.txt
Týmto výraza umiestnime dáta z premennej $example do súboru.
Podobne ako príkaz Set-Content -Value $example -Path File.txt
Polia
Inicializácia poľa:
$ArrayExample = @(„Prvý“, „Druhý“)Inicializácia prázdneho poľa:
$ArrayExample = @()Získanie hodnoty podľa indexu:
$ArrayExample[0]Získať celé pole:
$ArrayExamplePridanie prvku:
$ArrayExample += „Tretí“$ArrayExample += @(„Štvrtý“, „Piaty“)Zoradenie:
$ArrayExample | Sort$ArrayExample | Sort -DescendingAle samotné pole pri takomto zoradení zostáva nezmenené. A ak chceme, aby bolo v poli zotriedené dáta, musíme priradiť zotriedené hodnoty:
$ArrayExample = $ArrayExample | SortV podstate neexistuje spôsob, ako odstrániť prvok z poľa v PowerShell-i, ale môžete to urobiť takto:
$ArrayExample = $ArrayExample | where { $_ -ne „Prvý“ }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Odstránenie poľa:
$ArrayExample = $nullSlučky
Syntaxe cyklov:
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){}Výstup z cyklu break.
Preskočiť prvok continue.
Podmienené vyhlásenia
if () {} elseif () {} elseswitch($someIntValue){
1 { „Možnosť 1“ }
2 { „Možnosť 2“ }
default { „Nie je nastavené“ }
}
Funkcia
Definícia funkcie:
function Example () {
echo &args
}Spustenie funkcie:
Example „Prvý argument“ „Druhý argument“Definovanie argumentov vo funkcii:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Spustenie funkcie:
Example -first „Prvý argument“ -second „Druhý argument“Výnimka
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Zdroj: habr.com
