Kada radimo s PowerShell-om, prvo na što naiđemo su komande (Cmdlet).
Poziv komande izgleda ovako:
Glagol-Imenica -Parametar1 TipVrijednosti1 -Parametar2 TipVrijednosti2[]
Pomoć
Pozivanje pomoći u PowerShell-u vrši se putem komande Get-Help. Možete navesti jedan od parametara: example, detailed, full, online, showWindow.
Get-Help Get-Service -full vraća potpun opis rada komande Get-Service
Get-Help Get-S* prikazuje sve dostupne komande i funkcije koje počinju s Get-S*
Također, na službenoj stranici Microsoft-a postoji detaljna dokumentacija.
Evo primjera pomoći za komandu Get-EventLog

Ako su parametri zaključani u kvadratne zagrade [], oni su opcionalni.
Dakle, u ovom primjeru samo naziv dnevnika je obavezan, dok naziv parametra nije. Ako su tip parametra i njegovo ime zajedno zaključani u zagrade, taj parametar je opcionalan.
Ako pogledamo na parametar EntryType, vidimo vrijednosti koje su zaključane u vitičaste zagrade. Za ovaj parametar možemo koristiti samo unaprijed definisane vrijednosti u vitičastim zagradama.
Informaciju o tome da li je parametar obavezan možemo vidjeti u opisu ispod u polju Required. U gornjem primjeru atribut After je opcionalan, jer je pored Required navedeno false. Zatim vidimo polje Position pored kojeg piše Named. To znači da se na parametar može obratiti samo po imenu, odnosno:
Get-EventLog -LogName Application -After 2020.04.26Budući da je za parametar LogName umjesto Named navedena brojka 0, to znači da se na parametar možemo obratiti bez imenovanja, a navodeći ga u odgovarajućem redoslijedu:
Get-EventLog Application -After 2020.04.26Pretpostavimo i takav redoslijed:
Get-EventLog -Newest 5 ApplicationAlias
Da bismo mogli koristiti poznate komande iz konzole u PowerShell-u, postoje aliasi (pseudonimi).
Primjer pseudonima za komandu Set-Location je cd.
Dakle, umjesto poziva komande
Set-Location “D:”možemo koristiti
cd “D:”Historija
Da bismo vidjeli historiju pozivanja komandi, možemo koristiti Get-History
Izvršiti komandu iz historije Invoke-History 1; Invoke-History 2
Očistiti historiju Clear-History
Cjevovod
Cjevovod u PowerShell-u je kada se rezultat izvršenja prve funkcije prenosi u drugu. Evo primjera korištenja cjevovoda:
Get-Verb | Measure-ObjectAli da bismo bolje razumjeli cjevovod, uzmimo jednostavniji primjer. Imao sam komandu
Get-Verb "get"Ako pozovete pomoć Get-Help Get-Verb -Full, vidjet ćemo da parametar Verb prihvaća pipline input i u zagradama piše ByValue.

To znači da možemo prepisati Get-Verb «get» na «get» | Get-Verb.
Dakle, rezultat prvog izraza je string i on se prosljeđuje u parametar Verb komande Get-Verb preko pipline input prema vrijednosti.
Također, pipline input može biti ByPropertyName. U tom slučaju ćemo proslijediti objekt koji ima svojstvo s sličnim imenom Verb.
Varijable
Varijable nisu strogo tipizirane i postavljaju se s oznakom $ ispred.
$example = 4Znak > označava pohranjivanje podataka u
Na primjer, $example > File.txt
Ovim izraza postavljamo podatke iz varijable $example u datoteku.
Slična je komandi Set-Content -Value $example -Path File.txt.
Nizovi
Inicijalizacija niza:
$ArrayExample = @(“First”, “Second”)Inicijalizacija praznog niza:
$ArrayExample = @()Dobivanje vrijednosti po indeksu:
$ArrayExample[0]Dobiti cijeli niz:
$ArrayExampleDodavanje elementa:
$ArrayExample += “Third”$ArrayExample += @(“Fourth”, “Fifth”)Sortiranje:
$ArrayExample | Sort$ArrayExample | Sort -DescendingMeđutim, sam niz ostaje nepromijenjen prilikom takvog sortiranja. Ako želimo da niz sadrži sortirane podatke, potrebno je dodijeliti sortirane vrijednosti:
$ArrayExample = $ArrayExample | SortU osnovi, brisanje elementa iz niza u PowerShell-u ne postoji, ali ovo se može učiniti na sljedeći način:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Brisanje niza:
$ArrayExample = $nullPetlje
Sintaksa petlji:
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){}Izlaz iz petlje break.
Preskoči element continue.
Uslovni izrazi
if () {} elseif () {} elseswitch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
Funkcija
Definiranje funkcije:
function Example () {
echo &args
}Pokretanje funkcije:
Example “First argument” “Second argument”Definiranje argumenata u funkciji:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Pokretanje funkcije:
Example -first “First argument” -second “Second argument”Izuzetak
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Izvor: habr.com
