PowerShell kezdőknek

Amikor a PowerShell-lel dolgozunk, az első dolog, amivel találkozunk, a parancsok (Cmdlet-ek).
A parancshívás így néz ki:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Segítség

A súgó a PowerShellben a Get-Help paranccsal érhető el. Megadhatja az egyik paramétert: példa, részletes, teljes, online, showWindow.

Get-Help A Get-Service -full teljes leírást ad vissza a Get-Service parancs működéséről
Get-Súgó A Get-S* megjeleníti az összes elérhető parancsot és funkciót a Get-S* karakterrel kezdve

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

Itt van egy példa a Get-Evenlog parancshoz

PowerShell kezdőknek

Ha a paraméterek szögletes zárójelben [] vannak, akkor nem kötelezőek.
Vagyis ebben a példában magának a naplónak a neve és a paraméter neve szükséges Nem. Ha a paraméter típusa és neve együtt van zárójelben, akkor a paraméter nem kötelező.

Ha megnézi az EntryType paramétert, láthatja azokat az értékeket, amelyek kapcsos zárójelek közé vannak zárva. Ehhez a paraméterhez csak előre meghatározott értékeket használhatunk a kapcsos zárójelekben.

Arról, hogy a paraméter szükséges-e, az alábbi leírásban, a Kötelező mezőben láthatunk információt. A fenti példában az After attribútum nem kötelező, mert a Kötelező értéke false. Ezután a Pozíció mezőt látjuk szemben, amelyen a Named felirat olvasható. Ez azt jelenti, hogy a paraméter csak név szerint érhető el, azaz:

Get-EventLog -LogName Application -After 2020.04.26

Mivel a LogName paraméterben a Named helyett 0 volt megadva, ez azt jelenti, hogy a paramétert név nélkül, de a kívánt sorrendben megadva érhetjük el:

Get-EventLog Application -After 2020.04.26

Tegyük fel a következő sorrendet:

Get-EventLog -Newest 5 Application

Álnév

Annak érdekében, hogy a konzolról ismert parancsokat használhassuk, a PowerShell álnevekkel (Alias) rendelkezik.

A Hely beállítása parancs álneve például a cd.

Vagyis a parancs hívása helyett

Set-Location “D:”

tudjuk használni

cd “D:”

Történelem

A parancshívások előzményeinek megtekintéséhez használja a Get-History alkalmazást

Parancs végrehajtása az előzményekből Invoke-History 1; Invoke-History 2

Törölje az előzményeket Törölje az előzményeket

Csővezeték

A powershellben futó folyamat az, amikor az első függvény eredményét átadjuk a másodiknak. Íme egy példa a csővezeték használatára:

Get-Verb | Measure-Object

De a csővezeték jobb megértéséhez vegyünk egy egyszerűbb példát. Van egy csapat

Get-Verb "get"

Ha a Get-Help Get-Verb -Full súgót hívjuk, látni fogjuk, hogy az Ige paraméter elfogadja a pipline input, és a ByValue zárójelben van írva.

PowerShell kezdőknek

Ez azt jelenti, hogy átírhatjuk a Get-Verb "get"-et "get" |-re Get-Ige.
Ez azt jelenti, hogy az első kifejezés eredménye egy karakterlánc, és a Get-Verb parancs Ige paraméteréhez kerül átadásra pipline bemeneten keresztül értékenként.
A pipline bemenet is lehet ByPropertyName. Ebben az esetben olyan objektumot adunk át, amelynek hasonló nevű tulajdonsága van Ige.

Változók

A változók nincsenek erősen begépelve, és előtte egy $ szimbólummal vannak megadva

$example = 4

A > szimbólum adatbevitelt jelent
Például $example > Fájl.txt
Ezzel a kifejezéssel a $example változó adatait fájlba helyezzük
Ugyanaz, mint a Set-Content -Value $example -Path File.txt

tömbök

Tömb inicializálása:

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

Üres tömb inicializálása:

$ArrayExample = @()

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

$ArrayExample[0]

Szerezd meg a teljes tömböt:

$ArrayExample

Elem hozzáadása:

$ArrayExample += “Third”

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

Rendezés:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

De maga a tömb változatlan marad a rendezés során. És ha azt szeretnénk, hogy a tömbben rendezett adatok legyenek, akkor rendezett értékeket kell rendelnünk:

$ArrayExample = $ArrayExample | Sort

A PowerShellben nem lehet ténylegesen eltávolítani egy elemet egy tömbből, de ezt a következőképpen teheti meg:

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

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

Tömb eltávolítása:

$ArrayExample = $null

Loops

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

Lépjen ki a töréshurokból.

A folytatás elem elhagyása.

Feltételes nyilatkozatok

if () {} elseif () {} else

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

Funkció

A funkció meghatározása:

function Example () {
  echo &args
}

Futó funkció:

Example “First argument” “Second argument”

Argumentumok meghatározása egy függvényben:

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

function Example ($first, $second) {}

Futó funkció:

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

kivétel

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

Forrás: will.com

Hozzászólás