PowerShell pro začátečníky

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

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 povinný název samotného žurnálu a název parametru Ne. Pokud jsou typ parametru a jeho název společně uzavřeny v závorkách, pak je parametr nepovinný.

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.

PowerShell pro začátečníky

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

Přidat komentář