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.

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.26Mivel 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.26Tegyük fel, hogy ilyen sorrendben is:
Get-EventLog -Newest 5 ApplicationAlias
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-ObjectDe 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.

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 = 4A > 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:
$ArrayExampleElem hozzáadása:
$ArrayExample += "Harmadik"$ArrayExample += @("Negyedik", "Ötödik")Rendezés:
$ArrayExample | Sort$ArrayExample | Sort -DescendingDe 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 | SortValó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 = $nullCiklusok
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 () {} elseswitch($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
