PowerShell iesācējiem

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.

PowerShell iesācējiem

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.26

Tā 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.26

Pieņemsim arÄ« Ŕādu secÄ«bu:

Get-EventLog -Newest 5 Application

Alias

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-Object

Bet, 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.

PowerShell iesācējiem

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 = 4

Simbols > 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:

$ArrayExample

Elementa pievienoŔana:

$ArrayExample += ā€œThirdā€

$ArrayExample += @(ā€œFourthā€, ā€œFifthā€)

KārtoŔana:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Tomē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 | Sort

Reā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 = $null

Cikli

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 () {} else

switch($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

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster