Pri práci s PowerShell sa ako prvé stretávame s príkazmi (Cmdlets).
Volanie príkazu vyzerá takto:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Pomoc
Pomocník je dostupný v prostredí PowerShell pomocou príkazu Get-Help. Môžete zadať jeden z parametrov: príklad, podrobný, plný, online, showWindow.
Get-Help Get-Service -full vráti úplný popis toho, ako funguje príkaz Get-Service
Get-Help Get-S* zobrazí všetky dostupné príkazy a funkcie počnúc Get-S*
Na oficiálnej stránke Microsoftu je aj podrobná dokumentácia.
Tu je príklad pomoci pre príkaz Get-Evenlog
Ak sú parametre uzavreté v hranatých zátvorkách [], sú voliteľné.
To znamená, že v tomto príklade je povinný názov samotného žurnálu a názov parametra
Ak sa pozriete na parameter EntryType, môžete vidieť hodnoty, ktoré sú uzavreté v zložených zátvorkách. Pre tento parameter môžeme použiť iba preddefinované hodnoty v zložených zátvorkách.
Informáciu o tom, či je parameter povinný, môžeme vidieť v popise nižšie v poli Povinné. Vo vyššie uvedenom príklade je atribút After voliteľný, pretože Povinné je nastavené na hodnotu false. Ďalej vidíme pole Pozícia oproti, ktoré hovorí Pomenované. To znamená, že k parametru je možné pristupovať iba podľa názvu, tj:
Get-EventLog -LogName Application -After 2020.04.26
Keďže parameter LogName mal namiesto Named zadané číslo 0, znamená to, že k parametru môžeme pristupovať bez názvu, ale zadaním v požadovanom poradí:
Get-EventLog Application -After 2020.04.26
Predpokladajme toto poradie:
Get-EventLog -Newest 5 Application
Prezývka
Aby sme mohli používať známe príkazy z konzoly, PowerShell má aliasy (Alias).
Príkladom aliasu pre príkaz Set-Location je cd.
Teda namiesto volania príkazu
Set-Location “D:”
môžeme použiť
cd “D:”
História
Ak chcete zobraziť históriu volaní príkazov, môžete použiť funkciu Get-History
Vykonať príkaz z histórie Invoke-History 1; Vyvolať históriu 2
Vymazať históriu Vymazať históriu
Potrubie
Potrubie v powershell je, keď sa výsledok prvej funkcie odovzdá druhej. Tu je príklad použitia potrubia:
Get-Verb | Measure-Object
Ale aby sme lepšie porozumeli plynovodu, zoberme si jednoduchší príklad. Existuje tím
Get-Verb "get"
Ak zavoláme Get-Help Get-Verb -Full help, uvidíme, že parameter Verb akceptuje pipline vstup a ByValue je napísané v zátvorkách.
To znamená, že môžeme prepísať Get-Verb „get“ na „get“ | Get-Verb.
To znamená, že výsledkom prvého výrazu je reťazec a je odovzdaný parametru Verb príkazu Get-Verb cez pipline vstup podľa hodnoty.
Pipline vstup môže byť aj ByPropertyName. V tomto prípade prejdeme objekt, ktorý má vlastnosť s podobným názvom Sloveso.
Premenné
Premenné nie sú silne zadávané a sú označené symbolom $ na začiatku
$example = 4
Symbol > znamená vložiť údaje
Napríklad $example > Súbor.txt
Týmto výrazom umiestnime údaje z premennej $example do súboru
Rovnaké ako Set-Content -Value $example -Path File.txt
poľa
Inicializácia poľa:
$ArrayExample = @(“First”, “Second”)
Inicializácia prázdneho poľa:
$ArrayExample = @()
Získanie hodnoty podľa indexu:
$ArrayExample[0]
Získajte celé pole:
$ArrayExample
Pridanie prvku:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Radiť podľa:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Ale samotné pole zostáva počas tohto triedenia nezmenené. A ak chceme, aby pole malo zoradené údaje, musíme priradiť zoradené hodnoty:
$ArrayExample = $ArrayExample | Sort
Neexistuje žiadny skutočný spôsob, ako odstrániť prvok z poľa v PowerShell, ale môžete to urobiť takto:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Odstránenie poľa:
$ArrayExample = $null
Loops
Syntax cyklu:
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){}
Vystúpte z prerušovacej slučky.
Vynechanie prvku pokračovania.
Podmienečné vyhlásenia
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
Funkcie
Definícia funkcie:
function Example () {
echo &args
}
Funkcia behu:
Example “First argument” “Second argument”
Definovanie argumentov vo funkcii:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Funkcia behu:
Example -first “First argument” -second “Second argument”
výnimka
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Zdroj: hab.com