PowerShell iesācējiem

Strādājot ar PowerShell, pirmā lieta, ar ko mēs saskaramies, ir komandas (Cmdlet).
Komandas izsaukums izskatās Ŕādi:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Palīdzēt

PalÄ«dzÄ«bai programmā PowerShell var piekļūt, izmantojot komandu Get-Help. Varat norādÄ«t vienu no parametriem: piemērs, detalizēts, pilns, tieÅ”saistes, showWindow.

Get-Help Get-Service -full parādīs pilnu aprakstu par to, kā darbojas komanda Get-Service
Get-Help Get-S* parādīs visas pieejamās komandas un funkcijas, sākot ar Get-S*

Ir arī detalizēta dokumentācija oficiālajā Microsoft vietnē.

Šeit ir palīdzības piemērs komandai Get-Evenlog

PowerShell iesācējiem

Ja parametri ir ievietoti kvadrātiekavās [], tie nav obligāti.
Tas nozÄ«mē, ka Å”ajā piemērā obligāts ir paÅ”a žurnāla nosaukums un parametra nosaukums Nē. Ja parametra veids un tā nosaukums ir iekavās kopā, parametrs nav obligāts.

Ja skatāties uz parametru EntryType, varat redzēt vērtÄ«bas, kas ir ietvertas cirtainajās iekavās. Å im parametram mēs varam izmantot tikai iepriekÅ” noteiktas vērtÄ«bas cirtainajās lencēs.

Informāciju par to, vai parametrs ir nepiecieÅ”ams, varam redzēt tālāk esoÅ”ajā aprakstā, laukā Obligāts. IepriekÅ” minētajā piemērā atribÅ«ts After nav obligāts, jo Required ir iestatÄ«ts uz false. Tālāk mēs redzam lauku PozÄ«cija pretÄ«, kas saka Nosaukts. Tas nozÄ«mē, ka parametram var piekļūt tikai pēc nosaukuma, tas ir:

Get-EventLog -LogName Application -After 2020.04.26

Tā kā LogName parametram bija norādīts skaitlis 0, nevis Named, tas nozīmē, ka mēs varam piekļūt parametram bez nosaukuma, bet norādot to vajadzīgajā secībā:

Get-EventLog Application -After 2020.04.26

Pieņemsim Ŕādu secÄ«bu:

Get-EventLog -Newest 5 Application

Alias

Lai mēs varētu izmantot pazīstamās komandas no konsoles, PowerShell ir aizstājvārdi (Alias).

Komandas Set-Location aizstājvārda piemērs ir cd.

Tas ir, tā vietā, lai izsauktu komandu

Set-Location ā€œD:ā€

varam izmantot

cd ā€œD:ā€

vēsture

Lai skatītu komandu zvanu vēsturi, varat izmantot Get-History

IzpildÄ«t komandu no vēstures Invoke-History 1; IzsaukÅ”anas vēsture 2

Notīrīt vēsturi Notīrīt vēsturi

Cauruļvads

Powershell konveijers ir tad, kad pirmās funkcijas rezultāts tiek nodots otrajai funkcijai. Å eit ir cauruļvada izmantoÅ”anas piemērs:

Get-Verb | Measure-Object

Bet, lai labāk izprastu cauruļvadu, ņemsim vienkārŔāku piemēru. Ir komanda

Get-Verb "get"

Ja mēs izsauksim Get-Help Get-Verb -Full palīdzību, mēs redzēsim, ka parametrs Verb pieņem pipline ievadi un ByValue ir rakstīts iekavās.

PowerShell iesācējiem

Tas nozīmē, ka mēs varam pārrakstīt Get-Verb "get" uz "get" | Get-darbības vārds.
Tas ir, pirmās izteiksmes rezultāts ir virkne, un tas tiek nodots komandas Get-Verb parametram Verb, izmantojot pipline ievadi pēc vērtības.
Arī cauruļvada ievade var būt ByPropertyName. Šajā gadījumā mēs nodosim objektu, kuram ir rekvizīts ar līdzīgu nosaukumu Darbības vārds.

Mainīgie

Mainīgie lielumi nav stingri drukāti un ir norādīti ar simbolu $ priekŔā

$example = 4

Simbols > nozÄ«mē datu ievadÄ«Å”anu
Piemēram, $example > File.txt
Ar Å”o izteiksmi mēs ievietosim datus no mainÄ«gā $example failā
Tas pats, kas 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ūstiet visu masīvu:

$ArrayExample

Elementa pievienoŔana:

$ArrayExample += ā€œThirdā€

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

Kārtot pēc:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Bet pats masÄ«vs Ŕīs ŔķiroÅ”anas laikā paliek nemainÄ«gs. Un, ja mēs vēlamies, lai masÄ«vā bÅ«tu sakārtoti dati, mums ir jāpieŔķir sakārtotas vērtÄ«bas:

$ArrayExample = $ArrayExample | Sort

Nav reāla veida, kā noņemt elementu no masÄ«va programmā PowerShell, taču varat to izdarÄ«t Ŕādi:

$ArrayExample = $ArrayExample | where { $_ -ne ā€œFirstā€ }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

MasÄ«va noņemÅ”ana:

$ArrayExample = $null

Cilpas

Cilpas 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 pārtraukuma cilpas.

TurpināŔanas elementa izlaiŔana.

Nosacīti paziņojumi

if () {} elseif () {} else

switch($someIntValue){
  1 { ā€œOption 1ā€ }
  2 { ā€œOption 2ā€ }
  default { ā€œNot setā€ }
}

funkcija

Funkcijas definīcija:

function Example () {
  echo &args
}

SkrieŔanas funkcija:

Example ā€œFirst argumentā€ ā€œSecond argumentā€

Argumentu definÄ“Å”ana funkcijā:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

SkrieŔanas funkcija:

Example -first ā€œFirst argumentā€ -second ā€œSecond argumentā€

Izņēmums

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Avots: www.habr.com

Pievieno komentāru