PowerShell kezdőknek

A PowerShell használatakor az első dolog, amivel találkozunk, a parancsok (Cmdlet).
A parancs meghívása így néz ki:

Igaz-Oszlop -Paraméter1 ÉrtékTípus1 -Paraméter2 ÉrtékTípus2[]

Segítség

A PowerShell-ben a súgó hívása a Get-Help paranccsal történik. Megadhatunk egy paramétert: például, részletes, teljes, online, showWindow.

A Get-Help Get-Service -full teljes leírást ad a Get-Service parancsról.
A Get-Help Get-S* megmutatja az összes elérhető parancsot és funkciót, amelyek a Get-S* kezdetűek.

A Microsoft hivatalos weboldalán részletes dokumentáció található.

Íme egy példa a Get-Evenlog parancs súgójára.

PowerShell kezdőknek

Ha a paraméterek négyzetes zárójelbe [] vannak téve, akkor ezek opcionálisak.
Ezért ebben a példában a napló neve kötelező, de a paraméter neve nem. Ha a paraméter típusa és neve együtt zárójelbe van téve, akkor ez a paraméter opcionális.

Ha megnézzük az EntryType paramétert, láthatjuk, hogy az értékek kapcsos zárójelbe vannak téve. E paraméter esetében csak a kapcsos zárójelben található előre meghatározott értékeket használhatjuk.

Az, hogy a paraméter kötelező-e, a Required mezőben látható. A fenti példában az After attribútum opcionális, mivel a Required mezőnél false áll. Ezt követi a Position mező, amely mellett az áll, hogy Named. Ez azt jelenti, hogy a paraméterhez csak név szerint lehet hozzáférni, tehát:

Get-EventLog -LogName Application -After 2020.04.26

Mivel a LogName paraméterhez a Named helyett 0-át adtunk meg, így név nélkül is hozzáférhetünk a paraméterhez, és a megfelelő sorrendben:

Get-EventLog Application -After 2020.04.26

Tegyük fel, hogy ilyen sorrendben is:

Get-EventLog -Newest 5 Application

Alias

Ahhoz, hogy a megszokott parancsokat a konzolban használhassuk PowerShell-ben, álnév (Alias) létezik.

A Set-Location parancs álnév példája a cd.

Tehát a parancs meghívása helyett

Set-Location “D:”

használhatjuk a következőt:

cd “D:”

Történet

A parancshívások történetének megtekintéséhez a Get-History használható.

A történelemből parancs végrehajtása Invoke-History 1; Invoke-History 2

A történelem törlése Clear-History

Pipeline

A PowerShell pipeliningje azt jelenti, hogy az első funkció végrehajtásának eredménye átkerül a másodikba. Íme egy példa a pipelining használatára:

Get-Verb | Measure-Object

De hogy jobban megértsük a pipelininget, vegyünk egy egyszerűbb példát. Van egy parancs:

Get-Verb "get"

Ha a Get-Help Get-Verb -Full parancsot hívjuk meg, akkor láthatjuk, hogy a Verb paraméter elfogad pipline bemenetet, és zárójelben szerepel, hogy ByValue.

PowerShell kezdőknek

Ez azt jelenti, hogy át tudjuk írni a Get-Verb "get"-et "get" | Get-Verb-re.
Tehát az első kifejezés eredménye egy string, és ezt az értéket a Get-Verb parancs Verb paraméteréhez továbbítjuk pipline bemeneten keresztül ByValue.
A pipline bemenetett ByPropertyName is lehet. Ebben az esetben olyan objektumot fogunk átadni, amelynek van olyan property-je, amely hasonló nevű, mint a Verb.

Változók

A változók nem szigorúan típusosak, és a $ karakter megadásával definiáljuk őket.

$example = 4

A > jel azt jelenti, hogy az adatokat be kell helyezni a
Például, $example > File.txt
Ezzel a kifejezéssel az $example változóban lévő adatokat egy fájlba helyezzük.
Hasonlóan a Set-Content -Value $example -Path File.txt parancshoz.

Tömbök

Tömb inicializálása:

$ArrayExample = @("Első", "Második")

Üres tömb inicializálása:

$ArrayExample = @()

Érték lekérdezése index alapján:

$ArrayExample[0]

Az egész tömb lekérése:

$ArrayExample

Elem hozzáadása:

$ArrayExample += "Harmadik"

$ArrayExample += @("Negyedik", "Ötödik")

Rendezés:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

De maga a tömb ilyen rendezésnél változatlan marad. Ha azt szeretnénk, hogy a tömb rendezett adatokat tartalmazzon, akkor az rendezett értékeket kell hozzárendelni:

$ArrayExample = $ArrayExample | Sort

Valójában a PowerShell-ben nincs törlés a tömb elemeiből, de ezt így meg lehet oldani:

$ArrayExample = $ArrayExample | where { $_ -ne "Első" }

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

Tömb törlése:

$ArrayExample = $null

Ciklusok

Ciklus szintaxisa:

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

Kilépés a ciklusból break.

Elem kihagyása continue.

Feltételes állítások

if () {} elseif () {} else

switch($someIntValue){
  1 { "Opció 1" }
  2 { "Opció 2" }
  alapértelmezett { "Nincs beállítva" }
}

Funkció

Függvény definíciója:

function Example () {
  echo &args
}

Függvény futtatása:

Example "Első argumentum" "Második argumentum"

A függvényben lévő argumentumok definiálása:

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

function Example ($first, $second) {}

Függvény futtatása:

Example -first "Első argumentum" -second "Második argumentum"

Kivétel

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

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster