Pri delu s PowerShell se najprej srečamo z ukazi (Cmdlets).
Klic ukaza izgleda takole:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
pomaga
Do pomoči v PowerShell dostopate z ukazom Get-Help. Določite lahko enega od parametrov: primer, podrobno, polno, na spletu, showWindow.
Get-Help Get-Service -full vrne celoten opis delovanja ukaza Get-Service
Get-Help Get-S* prikaže vse razpoložljive ukaze in funkcije, ki se začnejo s Get-S*
Na uradnem Microsoftovem spletnem mestu je tudi podrobna dokumentacija.
Tukaj je primer pomoči za ukaz Get-Evenlog
Če so parametri v oglatih oklepajih [], potem niso obvezni.
To pomeni, da je v tem primeru zahtevano ime samega dnevnika in ime parametra
Če pogledate parameter EntryType, lahko vidite vrednosti, ki so v zavitih oklepajih. Za ta parameter lahko uporabimo samo vnaprej določene vrednosti v zavitih oklepajih.
Informacije o tem, ali je parameter zahtevan, si lahko ogledate v spodnjem opisu v polju Zahtevano. V zgornjem primeru je atribut After neobvezen, ker je Required nastavljen na false. Nato vidimo polje Position nasproti, ki pravi Named. To pomeni, da se na parameter lahko sklicujete samo po imenu, to je:
Get-EventLog -LogName Application -After 2020.04.26
Ker je imel parameter LogName številko 0 namesto Named, to pomeni, da se lahko na parameter sklicujemo brez imena, vendar tako, da ga podamo v želenem zaporedju:
Get-EventLog Application -After 2020.04.26
Predpostavimo ta vrstni red:
Get-EventLog -Newest 5 Application
Alias
Da lahko uporabljamo običajne ukaze iz konzole v lupini PowerShell, obstajajo vzdevki (Alias).
Primer vzdevka za ukaz Set-Location je cd.
To je, namesto da bi poklicali ukaz
Set-Location “D:”
lahko uporabimo
cd “D:”
Zgodovina
Če si želite ogledati zgodovino ukaznih klicev, lahko uporabite Get-History
Izvedi ukaz iz zgodovine Invoke-History 1; Priklic zgodovine 2
Izbriši zgodovino
Pipeline
Cevovod v lupini powershell je, ko se rezultat prve funkcije posreduje drugi. Tukaj je primer uporabe cevovoda:
Get-Verb | Measure-Object
Toda za boljše razumevanje cevovoda vzemimo enostavnejši primer. Imam ekipo
Get-Verb "get"
Če pokličete pomoč Get-Help Get-Verb -Full, bomo videli, da parameter Glagol sprejema vnos cevovoda, ByValue pa je zapisan v oklepaju.
To pomeni, da lahko Get-Verb "get" prepišemo v "get" | GetVerb.
To pomeni, da je rezultat prvega izraza niz in se posreduje parametru glagola ukaza Get-Verb prek vnosa cevovoda po vrednosti.
Tudi vnos cevovoda je lahko ByPropertyName. V tem primeru bomo posredovali objekt, ki ima lastnost s podobnim imenom Glagol.
Spremenljivke
Spremenljivke niso strogo tipizirane in so podane z $ spredaj
$example = 4
Simbol > pomeni vnos podatkov
Na primer, $example > File.txt
S tem izrazom bomo podatke iz spremenljivke $example spravili v datoteko
Enako kot Set-Content -Value $example -Path File.txt
Nizi
Inicializacija polja:
$ArrayExample = @(“First”, “Second”)
Inicializacija prazne matrike:
$ArrayExample = @()
Pridobivanje vrednosti po indeksu:
$ArrayExample[0]
Pridobite celotno matriko:
$ArrayExample
Dodajanje elementa:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Razvrsti po:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Toda sama matrika s tem razvrščanjem ostane nespremenjena. In če želimo, da ima matrika razvrščene podatke, moramo dodeliti razvrščene vrednosti:
$ArrayExample = $ArrayExample | Sort
V lupini PowerShell ni mogoče odstraniti elementa iz matrike, vendar lahko to storite takole:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Odstranjevanje matrike:
$ArrayExample = $null
Zanke
Sintaksa zanke:
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){}
Izhod iz prekinitvene zanke.
Preskoči element nadaljevanja.
Pogojne izjave
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
funkcija
Definicija funkcije:
function Example () {
echo &args
}
Zagon funkcije:
Example “First argument” “Second argument”
Definiranje argumentov v funkciji:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Zagon funkcije:
Example -first “First argument” -second “Second argument”
Izjema
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Vir: www.habr.com