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

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.26Protož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.26Předpokládejme také takový pořádek:
Get-EventLog -Newest 5 ApplicationAlias
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-ObjectAbychom 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.

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 = 4Symbol > 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:
$ArrayExamplePřidání prvku:
$ArrayExample += “Třetí”$ArrayExample += @(“Čtvrtý”, “Pátý”)Třídění:
$ArrayExample | Sort$ArrayExample | Sort -DescendingAle 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 | SortVe 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 = $nullCycles
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 () {} elseswitch($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
