StrÄdÄjot ar PowerShell, pirmÄ lieta, ar ko saskaramies, ir komandas (Cmdlet).
Komandas izsaukums izskatÄs Å”Ädi:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Palīdzība
PalÄ«dzÄ«ba PowerShell tiek izsaukta, izmantojot komandu Get-Help. Var norÄdÄ«t vienu no parametriem: example, detailed, full, online, showWindow.
Get-Help Get-Service -full atgriezīs pilnu komandas Get-Service aprakstu.
Get-Help Get-S* parÄdÄ«s visas pieejamÄs komandas un funkcijas, kas sÄkas ar Get-S*.
ArÄ« oficiÄlajÄ Microsoft tÄ«mekļa vietnÄ ir detalizÄta dokumentÄcija.
Å eit ir piemÄrs palÄ«dzÄ«bai par komandu Get-Eventlog.

Ja parametri ir iekļauti kvadrÄtiekavÄs [], tie ir izvÄles.
Tas nozÄ«mÄ, ka Å”ajÄ piemÄrÄ Å¾urnÄla nosaukums ir obligÄts, bet parametra nosaukums nav. Ja parametra tips un nosaukums ir iekļauti kopÄ iekavÄs, tad Å”is parametrs ir izvÄles.
Ja paskatÄmies uz parametru EntryType, redzam vÄrtÄ«bas, kas ietvertas kustÄ«gajÄs iekavÄs. Å im parametram mÄs varam izmantot tikai iepriekÅ” noteiktas vÄrtÄ«bas kustÄ«gajÄs iekavÄs.
InformÄciju par to, vai parametrs ir obligÄts, varam redzÄt aprakstÄ zemÄk laukÄ Required. IepriekÅ”ÄjÄ piemÄrÄ atribÅ«ts After ir izvÄles, jo blakus Required ir false. TÄlÄk mÄs redzam lauku Position, pie kura ir rakstÄ«ts Named. Tas nozÄ«mÄ, ka pie parametra var piekļūt tikai pÄc nosaukuma, proti:
Get-EventLog -LogName Application -After 2020.04.26TÄ kÄ parametrs LogName vietÄ Named bija norÄdÄ«ts skaitlis 0, tas nozÄ«mÄ, ka mÄs varam piekļūt parametram bez nosaukuma, norÄdot to pareizÄ secÄ«bÄ:
Get-EventLog Application -After 2020.04.26PieÅemsim arÄ« Å”Ädu secÄ«bu:
Get-EventLog -Newest 5 ApplicationAlias
Lai mÄs varÄtu izmantot ierastÄs komandas no konsoles PowerShell, ir pseidozÄ«mju (Alias).
PiemÄrs pseidozÄ«mei komandas Set-Location ir cd.
TÄtad, vietÄ, lai izsauktu komandu
Set-Location āD:āmÄs varam izmantot
cd āD:āVÄsture
Lai apskatÄ«tu komandu izsaukumu vÄsturi, var izmantot Get-History.
IzpildÄ«t komandu no vÄstures: Invoke-History 1; Invoke-History 2.
NotÄ«rÄ«t vÄsturi: Clear-History.
Pipeline
PipelÄ«ns PowerShell ir tad, kad pirmÄs funkcijas izpildes rezultÄts tiek nodots otrai. Å eit ir pipelÄ«na lietoÅ”anas piemÄrs:
Get-Verb | Measure-ObjectBet, lai labÄk saprastu pipelÄ«nu, Åemsim vienkÄrÅ”Äku piemÄru. Ir komanda
Get-Verb "get"Ja izsauksim palÄ«dzÄ«bu Get-Help Get-Verb -Full, mÄs redzÄsim, ka parametrs Verb pieÅem pipline input un iekavÄs rakstÄ«ts ByValue.

Tas nozÄ«mÄ, ka mÄs varam pÄrrakstÄ«t Get-Verb Ā«getĀ» uz Ā«getĀ» | Get-Verb.
Proti, pirmÄ izteiksmes rezultÄts ir virkne, kas tiek nodota komandai Get-Verb parametra Verb caur pipline input pa vÄrtÄ«bu.
ArÄ« pipline input var bÅ«t ByPropertyName. Å ajÄ gadÄ«jumÄ mÄs nodosim objektu, kuram ir Ä«paŔība ar lÄ«dzÄ«gu nosaukumu Verb.
Variables
MainÄ«gajiem nav stingras tipizÄcijas un tos nosaka, norÄdot simbolu $ priekÅ”Ä.
$example = 4Simbols > nozÄ«mÄ ievietot datus.
PiemÄram, $example > File.txt
Ar Å”o izteiksmi mÄs ievietosim datus no mainÄ«gÄ $example failÄ.
LÄ«dzÄ«gi kÄ komandai Set-Content -Value $example -Path File.txt.
Masīvi
MasÄ«va inicializÄcija:
$ArrayExample = @(āFirstā, āSecondā)TukÅ”a masÄ«va inicializÄcija:
$ArrayExample = @()VÄrtÄ«bas iegūŔana pÄc indeksa:
$ArrayExample[0]Iegūt visu masīvu:
$ArrayExampleElementa pievienoŔana:
$ArrayExample += āThirdā$ArrayExample += @(āFourthā, āFifthā)KÄrtoÅ”ana:
$ArrayExample | Sort$ArrayExample | Sort -DescendingTomÄr pats masÄ«vs Å”ÄdÄ kÄrtoÅ”anÄ paliek nemainÄ«gs. Ja mÄs vÄlamies, lai masÄ«vÄ bÅ«tu sakÄrtoti dati, tad jÄveic pieŔķirÅ”ana sakÄrtotÄm vÄrtÄ«bÄm:
$ArrayExample = $ArrayExample | SortReÄli izdzÄst masÄ«va elementu PowerShell nav iespÄjams, bet to var izdarÄ«t Å”ÄdÄ veidÄ:
$ArrayExample = $ArrayExample | where { $_ -ne āFirstā }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
MasÄ«va dzÄÅ”ana:
$ArrayExample = $nullCikli
Ciklu sintakse:
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){}Iziet no cikla break.
Izlaist elementu continue.
Nosacījuma izteikumi
if () {} elseif () {} elseswitch($someIntValue){
1 { āOption 1ā }
2 { āOption 2ā }
default { āNot setā }
}
Funkcija
Funkcijas definīcija:
function Example () {
echo &args
}Funkcijas palaiŔana:
Example āFirst argumentā āSecond argumentāFunkciju argumentu definÄ«cija:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Funkcijas palaiŔana:
Example -first āFirst argumentā -second āSecond argumentāIzÅÄmums
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Avots: habr.com
