PowerShell za začetnike

Pri delu s PowerShell se najprej srečamo z ukazi (Cmdlets).
Klic ukaza izgleda takole:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

pomaga

Do pomoči v PowerShell dostopate z ukazom Get-Help. Določite lahko enega od parametrov: primer, podrobno, polno, na spletu, showWindow.

Get-Help Get-Service -full vrne celoten opis delovanja ukaza Get-Service
Get-Help Get-S* prikaže vse razpoložljive ukaze in funkcije, ki se začnejo s Get-S*

Na uradnem Microsoftovem spletnem mestu je tudi podrobna dokumentacija.

Tukaj je primer pomoči za ukaz Get-Evenlog

PowerShell za začetnike

Če so parametri v oglatih oklepajih [], potem niso obvezni.
To pomeni, da je v tem primeru zahtevano ime samega dnevnika in ime parametra št. Če sta vrsta parametra in njegovo ime skupaj v oklepajih, je ta parameter neobvezen.

Če pogledate parameter EntryType, lahko vidite vrednosti, ki so v zavitih oklepajih. Za ta parameter lahko uporabimo samo vnaprej določene vrednosti v zavitih oklepajih.

Informacije o tem, ali je parameter zahtevan, si lahko ogledate v spodnjem opisu v polju Zahtevano. V zgornjem primeru je atribut After neobvezen, ker je Required nastavljen na false. Nato vidimo polje Position nasproti, ki pravi Named. To pomeni, da se na parameter lahko sklicujete samo po imenu, to je:

Get-EventLog -LogName Application -After 2020.04.26

Ker je imel parameter LogName številko 0 namesto Named, to pomeni, da se lahko na parameter sklicujemo brez imena, vendar tako, da ga podamo v želenem zaporedju:

Get-EventLog Application -After 2020.04.26

Predpostavimo ta vrstni red:

Get-EventLog -Newest 5 Application

Alias

Da lahko uporabljamo običajne ukaze iz konzole v lupini PowerShell, obstajajo vzdevki (Alias).

Primer vzdevka za ukaz Set-Location je cd.

To je, namesto da bi poklicali ukaz

Set-Location “D:”

lahko uporabimo

cd “D:”

Zgodovina

Če si želite ogledati zgodovino ukaznih klicev, lahko uporabite Get-History

Izvedi ukaz iz zgodovine Invoke-History 1; Priklic zgodovine 2

Izbriši zgodovino

Pipeline

Cevovod v lupini powershell je, ko se rezultat prve funkcije posreduje drugi. Tukaj je primer uporabe cevovoda:

Get-Verb | Measure-Object

Toda za boljše razumevanje cevovoda vzemimo enostavnejši primer. Imam ekipo

Get-Verb "get"

Če pokličete pomoč Get-Help Get-Verb -Full, bomo videli, da parameter Glagol sprejema vnos cevovoda, ByValue pa je zapisan v oklepaju.

PowerShell za začetnike

To pomeni, da lahko Get-Verb "get" prepišemo v "get" | GetVerb.
To pomeni, da je rezultat prvega izraza niz in se posreduje parametru glagola ukaza Get-Verb prek vnosa cevovoda po vrednosti.
Tudi vnos cevovoda je lahko ByPropertyName. V tem primeru bomo posredovali objekt, ki ima lastnost s podobnim imenom Glagol.

Spremenljivke

Spremenljivke niso strogo tipizirane in so podane z $ spredaj

$example = 4

Simbol > pomeni vnos podatkov
Na primer, $example > File.txt
S tem izrazom bomo podatke iz spremenljivke $example spravili v datoteko
Enako kot Set-Content -Value $example -Path File.txt

Nizi

Inicializacija polja:

$ArrayExample = @(“First”, “Second”)

Inicializacija prazne matrike:

$ArrayExample = @()

Pridobivanje vrednosti po indeksu:

$ArrayExample[0]

Pridobite celotno matriko:

$ArrayExample

Dodajanje elementa:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Razvrsti po:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Toda sama matrika s tem razvrščanjem ostane nespremenjena. In če želimo, da ima matrika razvrščene podatke, moramo dodeliti razvrščene vrednosti:

$ArrayExample = $ArrayExample | Sort

V lupini PowerShell ni mogoče odstraniti elementa iz matrike, vendar lahko to storite takole:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

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

Odstranjevanje matrike:

$ArrayExample = $null

Zanke

Sintaksa zanke:

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

Izhod iz prekinitvene zanke.

Preskoči element nadaljevanja.

Pogojne izjave

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

funkcija

Definicija funkcije:

function Example () {
  echo &args
}

Zagon funkcije:

Example “First argument” “Second argument”

Definiranje argumentov v funkciji:

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

function Example ($first, $second) {}

Zagon funkcije:

Example -first “First argument” -second “Second argument”

Izjema

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

Vir: www.habr.com

Dodaj komentar