Při práci s PowerShellem se jako první setkáme s příkazy (Cmdlets).
Volání příkazu vypadá takto:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Pomoc
Nápověda je přístupná v PowerShellu pomocí příkazu Get-Help. Můžete zadat jeden z parametrů: příklad, podrobný, plný, online, showWindow.
Get-Help Get-Service -full vrátí úplný popis toho, jak příkaz Get-Service funguje
Get-Help Get-S* zobrazí všechny dostupné příkazy a funkce počínaje 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-Evenlog
Pokud jsou parametry uzavřeny v hranatých závorkách [], jsou volitelné.
To znamená, že v tomto příkladu je povinný název samotného žurnálu a název parametru
Pokud se podíváte na parametr EntryType, můžete vidět 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 vyžadován, můžeme vidět v popisu níže v poli Povinné. Ve výše uvedeném příkladu je atribut After volitelný, protože Required je nastaveno na false. Dále vidíme pole Pozice naproti, které říká Pojmenováno. To znamená, že k parametru lze přistupovat pouze podle názvu, tj.
Get-EventLog -LogName Application -After 2020.04.26
Vzhledem k tomu, že parametr LogName měl zadané číslo 0 místo Named, znamená to, že k parametru můžeme přistupovat bez názvu, ale zadáním v požadovaném pořadí:
Get-EventLog Application -After 2020.04.26
Předpokládejme toto pořadí:
Get-EventLog -Newest 5 Application
Přezdívka
Abychom mohli používat známé příkazy z konzole, má PowerShell aliasy (Alias).
Příklad alias pro příkaz Set-Location je cd.
Tedy místo volání příkazu
Set-Location “D:”
můžeme použít
cd “D:”
Historie
Chcete-li zobrazit historii volání příkazů, můžete použít Get-History
Proveď příkaz z historie Invoke-History 1; Vyvolat historii 2
Vymazat historii Vymazat historii
Potrubí
Potrubí v powershell je, když je výsledek první funkce předán druhé. Zde je příklad použití potrubí:
Get-Verb | Measure-Object
Ale abychom lépe porozuměli potrubí, uveďme si jednodušší příklad. Existuje tým
Get-Verb "get"
Pokud zavoláme Get-Help Get-Verb -Full help, uvidíme, že parametr Verb akceptuje pipline vstup a ByValue je zapsáno v závorkách.
To znamená, že můžeme přepsat Get-Verb "get" na "get" | Get-Verb.
To znamená, že výsledkem prvního výrazu je řetězec a je předán parametru Verb příkazu Get-Verb pomocí pipline vstupu podle hodnoty.
Pipline vstup může být také ByPropertyName. V tomto případě předáme objekt, který má vlastnost s podobným názvem Sloveso.
Proměnné
Proměnné nejsou silně zapsány a jsou specifikovány se symbolem $ na začátku
$example = 4
Symbol > znamená vložit data
Například $example > Soubor.txt
Tímto výrazem umístíme data z proměnné $example do souboru
Stejné jako Set-Content -Value $example -Path File.txt
Pole
Inicializace pole:
$ArrayExample = @(“First”, “Second”)
Inicializace prázdného pole:
$ArrayExample = @()
Získání hodnoty podle indexu:
$ArrayExample[0]
Získejte celé pole:
$ArrayExample
Přidání prvku:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Řadit podle:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Ale samotné pole zůstává během tohoto třídění nezměněno. A pokud chceme, aby pole mělo seřazená data, pak musíme přiřadit seřazené hodnoty:
$ArrayExample = $ArrayExample | Sort
Neexistuje žádný skutečný způsob, jak odstranit prvek z pole v PowerShell, ale můžete to udělat takto:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Odebrání pole:
$ArrayExample = $null
Smyčky
Syntaxe smyčky:
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){}
Opusťte přerušovací smyčku.
Vynechání prvku pokračování.
Podmíněná prohlášení
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
funkce
Definice funkce:
function Example () {
echo &args
}
Funkce běhu:
Example “First argument” “Second argument”
Definování argumentů ve funkci:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Funkce běhu:
Example -first “First argument” -second “Second argument”
Výjimka
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Zdroj: www.habr.com