PowerShell ilə işləyərkən qarşılaşdığımız ilk şey əmrlərdir (Cmdlets).
Komanda çağırışı belə görünür:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
kömək
Yardıma Get-Help əmrindən istifadə edərək PowerShell-də daxil olur. Parametrlərdən birini təyin edə bilərsiniz: misal, ətraflı, tam, onlayn, showWindow.
Get-Help Get-Service -full Get-Service əmrinin necə işlədiyinə dair tam təsviri qaytaracaq
Get-Help Get-S* Get-S* ilə başlayan bütün mövcud əmr və funksiyaları göstərəcək.
Rəsmi Microsoft saytında da ətraflı sənədlər var.
Get-Evenlog əmri üçün kömək nümunəsidir
Parametrlər kvadrat mötərizə [] içərisindədirsə, onlar isteğe bağlıdır.
Yəni, bu nümunədə jurnalın adı məcburidir və parametrin adıdır
EntryType parametrinə baxsanız, əyri mötərizələrə daxil edilmiş dəyərləri görə bilərsiniz. Bu parametr üçün yalnız buruq mötərizələrdə əvvəlcədən təyin edilmiş dəyərlərdən istifadə edə bilərik.
Parametrin tələb olunub-olunmaması haqqında məlumatı aşağıdakı təsvirdə Tələb olunan sahədə görə bilərik. Yuxarıdakı misalda After atributu isteğe bağlıdır, çünki Tələb olunur yanlış olaraq təyin edilib. Sonra biz qarşı tərəfdə Adlandırılmış Mövqe sahəsini görürük. Bu o deməkdir ki, parametrə yalnız adla daxil olmaq olar, yəni:
Get-EventLog -LogName Application -After 2020.04.26
LogName parametrində Named əvəzinə 0 rəqəmi göstərildiyi üçün bu o deməkdir ki, biz parametrə adsız, lakin onu tələb olunan ardıcıllıqla göstərərək daxil ola bilərik:
Get-EventLog Application -After 2020.04.26
Bu sıranı fərz edək:
Get-EventLog -Newest 5 Application
ləqəb
Konsoldan tanış əmrlərdən istifadə edə bilməmiz üçün PowerShell-in ləqəbləri (ləqəb) var.
Yerləşdirməni təyin etmək əmri üçün nümunə ləqəb cd-dir.
Yəni əmri çağırmaq yerinə
Set-Location “D:”
istifadə edə bilərik
cd “D:”
tarix
Komanda zənglərinin tarixçəsinə baxmaq üçün Get-History istifadə edə bilərsiniz
Tarixdən əmri yerinə yetirin Invoke-History 1; Çağırış Tarixi 2
Tarixi təmizləyin Tarixi təmizləyin
Kəmər
Powershell-də boru kəməri birinci funksiyanın nəticəsinin ikinciyə ötürüldüyü zamandır. Boru kəmərindən istifadə nümunəsi:
Get-Verb | Measure-Object
Ancaq boru kəmərini daha yaxşı başa düşmək üçün daha sadə bir nümunə götürək. Komanda var
Get-Verb "get"
Get-Help Get-Verb -Full help-i çağırsaq, Verb parametrinin boru xətti daxiletməsini qəbul etdiyini və ByValue-nun mötərizədə yazıldığını görərik.
Bu o deməkdir ki, biz Get-Feli "get"-i "almaq" üçün yenidən yaza bilərik | Get-feli.
Yəni, birinci ifadənin nəticəsi sətirdir və o, dəyərə görə boru xətti girişi ilə Get-Fel əmrinin Verb parametrinə ötürülür.
Həmçinin boru xətti girişi ByPropertyName ola bilər. Bu halda, biz oxşar adı Verb ilə xassəsi olan obyekti keçirəcəyik.
Dəyişənlər
Dəyişənlər güclü şəkildə yazılmır və qarşısında $ simvolu ilə göstərilir
$example = 4
> simvolu məlumatların daxil edilməsi deməkdir
Məsələn, $example > File.txt
Bu ifadə ilə biz $example dəyişəninin verilənlərini fayla yerləşdirəcəyik
Set-Content -Value $example -Path File.txt ilə eynidir
Diziler
Massiv başlanğıcı:
$ArrayExample = @(“First”, “Second”)
Boş massiv işə salınır:
$ArrayExample = @()
İndeks üzrə dəyər əldə etmək:
$ArrayExample[0]
Bütün massivi əldə edin:
$ArrayExample
Element əlavə etmək:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Çeşidləmə:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Lakin bu çeşidləmə zamanı massivin özü dəyişməz qalır. Əgər massivin məlumatların çeşidlənməsini istəyiriksə, onda biz çeşidlənmiş dəyərlər təyin etməliyik:
$ArrayExample = $ArrayExample | Sort
PowerShell-də massivdən elementi silməyin faktiki yolu yoxdur, lakin siz bunu bu şəkildə edə bilərsiniz:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Massivin silinməsi:
$ArrayExample = $null
Döngüler
Döngü sintaksisi:
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){}
Fasilə döngəsindən çıxın.
Davam elementinin buraxılması.
Şərti bəyanatlar
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
Function
Funksiya Tərifi:
function Example () {
echo &args
}
Çalışan funksiya:
Example “First argument” “Second argument”
Funksiyada arqumentlərin təyin edilməsi:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Çalışan funksiya:
Example -first “First argument” -second “Second argument”
İstisna
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Mənbə: www.habr.com