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