Pri delu s PowerShellom se najprej srečamo z ukazi (Cmdlet).
Klic ukaza izgleda tako:
Glagol-Imenik -Parameter1 TipVrednosti1 -Parameter2 TipVrednosti2[]
Pomoč
Klic pomoči v PowerShellu se izvede s pomočjo ukaza Get-Help. Uporabimo lahko enega od parametrov: example, detailed, full, online, showWindow.
Get-Help Get-Service -full bo vrnil celoten opis dela ukaza Get-Service
Get-Help Get-S* bo pokazal vse razpoložljive ukaze in funkcije, ki se začnejo z Get-S*
Tudi na uradni spletni strani Microsofta je podrobna dokumentacija.
Tukaj je primer pomoči za ukaz Get-Eventlog

Če so parametri zapisani v oklepajih [], so neobvezni.
To pomeni, da je v tem primeru samo ime dnevnika obvezno, medtem ko ime parametra ni. Če je tip parametra in njegovo ime zapisano skupaj v oklepajih, potem je ta parameter neobvezni.
Če pogledamo parameter EntryType, lahko vidimo vrednosti, ki so zapisane v zavitih oklepajih. Za ta parameter lahko uporabimo samo vnaprej določene vrednosti v zavitih oklepajih.
Informacijo o tem, ali je parameter obvezen, lahko vidimo v opisu spodaj v polju Required. V prejšnjem primeru je atribut After neobvezen, saj ob Required piše false. Potem vidimo polje Position, ob katerem piše Named. To pomeni, da lahko na parameter naslovimo le po imenu, torej:
Get-EventLog -LogName Application -After 2020.04.26Ker je za parameter LogName namesto Named navedena številka 0, to pomeni, da lahko na parameter naslovimo brez imena, tako da ga navedemo v pravilnem vrstnem redu:
Get-EventLog Application -After 2020.04.26Recimo, da je tudi takšnje zaporedje:
Get-EventLog -Newest 5 ApplicationPsevdoime
Da bi lahko uporabljali znane ukaze iz konzole v PowerShellu, so na voljo psevdoimena (Alias).
Primer psevdoimena za ukaz Set-Location je cd.
To pomeni, da namesto klica ukaza
Set-Location “D:”lahko uporabimo
cd “D:”Zgodovina
Za ogled zgodovine klicev ukazov lahko uporabimo Get-History
Izvedite ukaz iz zgodovine Invoke-History 1; Invoke-History 2
Počistite zgodovino Clear-History
Pipeline
Pipelining v PowerShellu pomeni, da se rezultat izvajanja prve funkcije prenese v drugo. Tukaj je primer uporabe pipelina:
Get-Verb | Measure-ObjectAmpak da bi bolje razumeli pipelining, poglejmo preprostejši primer. Obstaja ukaz
Get-Verb "get"Če pokličemo pomoč Get-Help Get-Verb -Full, bomo videli, da parameter Verb sprejema pipline input in v oklepajih piše ByValue.

To je pomeni, da lahko ponovno napišemo Get-Verb "get" na "get" | Get-Verb.
Torej, rezultat prvega izraza je niz, ki se prenese v parameter Verb ukaza Get-Verb preko vrednostnega pipelina.
Pipelinski vhod je lahko tudi ByPropertyName. V tem primeru bomo prenesli objekt, ki ima lastnost s podobnim imenom Verb.
Spremenljivke
Spremenljivke niso strogo tipizirane in se določijo s simbolom $ pred njimi.
$example = 4Simbol > pomeni shraniti podatke v
Na primer, $example > File.txt
S tem izrazom bomo prenesli podatke iz spremenljivke $example v datoteko.
Podobno kot ukaz Set-Content -Value $example -Path File.txt.
Seznami
Inicializacija seznama:
$ArrayExample = @(“Prvi”, “Drugi”)Inicializacija praznega seznama:
$ArrayExample = @()Pridobitev vrednosti po indeksu:
$ArrayExample[0]Pridobiti celoten seznam:
$ArrayExampleDodajanje elementa:
$ArrayExample += “Tretji”$ArrayExample += @(“Četrti”, “Petti”)Razvrščanje:
$ArrayExample | Sort$ArrayExample | Sort -DescendingA vendar sam seznam ostane nespremenjen pri temu razvrščanju. Če želimo, da ima seznam razvrščene podatke, moramo dodeliti razvrščene vrednosti:
$ArrayExample = $ArrayExample | SortV PowerShellu dejansko ni možnosti za odstranitev elementa iz seznama, a to lahko storimo na naslednji način:
$ArrayExample = $ArrayExample | where { $_ -ne “Prvi” }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Odstranitev seznama:
$ArrayExample = $nullZanke
Sintaksa zank:
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){}Izstop iz zanke break.
Preskoči element continue.
Pogojna Stavek
if () {} elseif () {} elseswitch($someIntValue){
1 { “Možnost 1” }
2 { “Možnost 2” }
privzetno { “Ni nastavljen” }
}
Funkcija
Določitev funkcije:
function Example () {
echo &args
}Zagon funkcije:
Example “Prvi argument” “Drugi argument”Določitev argumentov v funkciji:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Zagon funkcije:
Example -first “Prvi argument” -second “Drugi argument”Izjema
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Izvor: habr.com
