PowerShell algajatele

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.

PowerShell algajatele

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

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

Olgu siis selline järjekord:

Get-EventLog -Newest 5 Application

Alias

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

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

PowerShell algajatele

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

Sü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:

$ArrayExample

Elemendi lisamine:

$ArrayExample += "Kolmas"

$ArrayExample += @("Neljas", "Viies")

Sorteerimine:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Aga 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 | Sort

Faktina 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 = $null

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

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

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster