PowerShell ile çalışırken ilk karşılaştığımız şey komutlardır (Cmdlet'ler).
Komut çağrısı şöyle görünür:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Destek
PowerShell'deki yardıma Get-Help komutu kullanılarak erişilir. Parametrelerden biri belirtilebilir: örnek, ayrıntılı, tam, çevrimiçi, showWindow.
Get-Help Get-Service -full, Get-Service komutunun çalışmasının tam açıklamasını döndürür
Get-Help Get-S*, Get-S* ile başlayan tüm mevcut komutları ve işlevleri gösterecektir.
Resmi Microsoft web sitesinde de ayrıntılı belgeler bulunmaktadır.
İşte Get-Evenlog komutu için bir örnek yardım
Parametreler köşeli parantez [] içine alınmışsa, bunlar isteğe bağlıdır.
Yani, bu örnekte, günlüğün kendisinin adı gereklidir ve parametrenin adı gereklidir.
EntryType parametresine bakarsanız, süslü parantez içine alınmış değerleri görebilirsiniz. Bu parametre için kaşlı ayraçlar içinde sadece önceden tanımlanmış değerleri kullanabiliriz.
Parametrenin gerekli olup olmadığı ile ilgili bilgi, Gerekli alanında aşağıdaki açıklamada görülebilir. Yukarıdaki örnekte, Required false olarak ayarlandığından After özniteliği isteğe bağlıdır. Ardından, Adlandırılmış yazan Pozisyon alanını görüyoruz. Bu, parametreye yalnızca adıyla başvurabileceğiniz anlamına gelir, yani:
Get-EventLog -LogName Application -After 2020.04.26
LogName parametresi Named yerine 0 rakamına sahip olduğundan, bu, parametreye bir ad olmadan, ancak istenen sırada belirterek başvurabileceğimiz anlamına gelir:
Get-EventLog Application -After 2020.04.26
Bu sırayı varsayalım:
Get-EventLog -Newest 5 Application
Takma ad
Konsoldan olağan komutları PowerShell'de kullanabilmemiz için takma adlar (Alias) vardır.
Set-Location komutu için örnek bir takma ad cd'dir.
Yani, komutu çağırmak yerine
Set-Location “D:”
kullanabiliriz
cd “D:”
Tarihçe
Komut çağrılarının geçmişini görmek için Get-History'yi kullanabilirsiniz.
Geçmişten yürütme komutu Çağırma-Geçmiş 1; Geçmiş 2'yi Çağır
Geçmişi Temizle
Boru Hattı
Powershell'deki bir ardışık düzen, birinci işlevin sonucunun ikinciye iletildiği zamandır. İşte boru hattını kullanan bir örnek:
Get-Verb | Measure-Object
Ancak boru hattını daha iyi anlamak için daha basit bir örnek ele alalım. bir takım var
Get-Verb "get"
Get-Help Get-Verb -Full help çağırırsanız Verb parametresinin pipline girdisi aldığını ve ByValue parantez içinde yazıldığını görürüz.
Bu, Get-Verb "get"i "get" | GetVerb.
Yani, ilk ifadenin sonucu bir dizedir ve Get-Verb komutunun Verb parametresine pipline girişi aracılığıyla değere göre iletilir.
Ayrıca boru hattı girişi ByPropertyName olabilir. Bu durumda, Verb ile benzer bir isme sahip bir özelliği olan bir nesneyi ileteceğiz.
Değişkenler
Değişkenler kesinlikle yazılmaz ve önünde $ ile belirtilir.
$example = 4
> sembolü, verileri girmek anlamına gelir
Örneğin, $ornek > Dosya.txt
Bu ifade ile $example değişkenindeki verileri bir dosyaya koyacağız.
Set-Content -Value $example -Path File.txt ile aynı
Diziler
Dizi başlatma:
$ArrayExample = @(“First”, “Second”)
Boş dizi başlatma:
$ArrayExample = @()
Dizine göre değer alma:
$ArrayExample[0]
Tüm diziyi alın:
$ArrayExample
Bir eleman eklemek:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Sıralama:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Ancak dizinin kendisi bu sıralamada değişmeden kalır. Dizinin sıralanmış verilere sahip olmasını istiyorsak, sıralanmış değerleri atamamız gerekir:
$ArrayExample = $ArrayExample | Sort
PowerShell'de bir diziden bir öğeyi kaldırmanın bir yolu yoktur, ancak bunu şu şekilde yapabilirsiniz:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Bir diziyi kaldırma:
$ArrayExample = $null
Döngüler
Döngü sözdizimi:
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){}
Break döngüsünden çıkın.
Devam öğesini atlayın.
Koşullu İfadeler
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
işlev
Fonksiyon tanımı:
function Example () {
echo &args
}
İşlev başlatma:
Example “First argument” “Second argument”
Bir işlevde argüman tanımlama:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
İşlev başlatma:
Example -first “First argument” -second “Second argument”
Istisna
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Kaynak: habr.com