Töötades PowerShelliga on esimene asi, millega me silmitsi seisame, käskude (Cmdlet) kasutamine.
Käskude üleskutse näeb välja järgmine:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Aitab
PowerShellis saate abi üleskutseks kasutada käsku Get-Help. Võite määrata ühe parameetri: example, detailed, full, online, showWindow.
Get-Help Get-Service -full tagastab käsku Get-Service täieliku kirjelduse.
Get-Help Get-S* näitab kõiki saadaolevaid käske ja funktsioone, mis algavad Get-S*-ga.
Samuti on Microsofti ametlikul veebilehel üksikasjalik dokumentatsioon.
Siin on näide Get-Eventlog käsu abist.

Kui parameetrid on nurksulgudes [], on need valikulised.
See tähendab, et antud näites on ajakirja nimi kohustuslik, kuid parameetri nimi ei ole. Kui parameetri tüüp ja selle nimi on koos nurksulgudes, siis on see parameeter valikuline.
Kui vaatame EntryType parameetrit, siis on seal väärtused, mis on paigutatud kõrvitsulgudesse. Selle parameetri puhul saame kasutada ainult eelnevalt määratud väärtusi kõrvitsulgudes.
Teavet selle kohta, kas parameeter on kohustuslik, saame näha allpool kirjelduses väljal Required. Ülaltoodud näites on atribuut After valikuline, kuna Required'i vastas on false. Edasi näeme välja Position vastas, mille juures on kirjas Named. See tähendab, et parameetrile saab viidata ainult nime järgi, st:
Get-EventLog -LogName Application -After 2020.04.26Kuna LogName parameetri puhul oli asemel Named number 0, tähendab see, et saame parameetrile viidata ilma nimeks, vaid määrates selle õiges järjekorras:
Get-EventLog Application -After 2020.04.26Olgu siis selline järjekord:
Get-EventLog -Newest 5 ApplicationAlias
Kuna saame kasutada tuttavaid käske konsoolist PowerShellis, on seal pseudonüüdid (Alias).
Näide pseudonüüdist Set-Location käsule on cd.
See tähendab, et käsu üleskutse
Set-Location “D:”võime kasutada
cd “D:”Ajalugu
Käskude ajaloo vaatamiseks saab kasutada Get-History
Ajaloo käsku käivitamine Invoke-History 1; Invoke-History 2
Ajaloo kustutamine Clear-History
Pipeline
Pipedrive PowerShellis on see, kui esimese funktsiooni väljund edastatakse teise. Siin on näide paandi kasutamisest:
Get-Verb | Measure-ObjectAga et paremini mõista pipelaini, vaatame lihtsamat näidet. On käsk
Get-Verb "get"Kui kutsuda välja abi Get-Help Get-Verb -Full, näeme, et parameeter Verb aktsepteerib pipline input ja sulgudes on kirjutatud ByValue.

See tähendab, et me saame muuta Get-Verb «get» «get» | Get-Verb.
Ehk siis esimese väljendi tulemus on string ja see edastatakse Get-Verb käsu Verb parameetrisse pipelii kaudu väärtusena.
Samuti võib pipelii sisend olla ByPropertyName. Sel juhul edastame objekti, millel on Verbile sarnane omadus.
Variables
Muuttujad ei ole rangelt tüübitatud ja neid määratakse $ sümboliga ees.
$example = 4Sümbol > tähendab andmete paigutamist
Näiteks, $example > File.txt
Selle väljendi abil paneme andmed muutuja $example faili
Sarnaselt käsule Set-Content -Value $example -Path File.txt
Massiivid
Massiivi initsialiseerimine:
$ArrayExample = @("Esimene", "Teine")Tühja massiivi initsialiseerimine:
$ArrayExample = @()Väärtuse saamine indeksi järgi:
$ArrayExample[0]Kogu massiivi saamine:
$ArrayExampleElemendi lisamine:
$ArrayExample += "Kolmas"$ArrayExample += @("Neljas", "Viies")Sorteerimine:
$ArrayExample | Sort$ArrayExample | Sort -DescendingAga isegi sellise sorteerimise korral jääb massiiv muutumatuks. Ja kui me tahame, et massiivis oleksid sorteeritud andmed, peame määrama sorteeritud väärtused:
$ArrayExample = $ArrayExample | SortFaktina PowerShell'is ei eksisteeri massiivist elemendi kustutamist, aga seda saab teha järgmiselt:
$ArrayExample = $ArrayExample | where { $_ -ne "Esimene" }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Massiivi kustutamine:
$ArrayExample = $nullTsüklid
Tsükli süntaks:
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){}Tsüklist väljumine break.
Elemendi vahele jätmine continue.
Tingimuslikud laused
if () {} elseif () {} elseswitch($someIntValue){
1 { "Valik 1" }
2 { "Valik 2" }
default { "Määramata" }
}
Funktsioon
Funktsiooni määratlemine:
function Example () {
echo &args
}Funktsiooni käivitamine:
Example "Esimene argument" "Teine argument"Funktsiooni argumentide määratlemine:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Funktsiooni käivitamine:
Example -first "Esimene argument" -second "Teine argument"Erand
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Allikas: habr.com
