Powershell'de işimizi tek satırda bitiremediğimiz durumlar olduğunda alt satırda kaldığımız yerden devam edebilmek için bir backtick ya da backquote olarak bilinen " ` " karakteri kullanılır. Ama dikkat, bu tek tırnak " ' " (veya apostrof olarak bilinen) karakterinden farklı bir karakterdir. Yalnız bu karakterden sonra hemen enter (carriage return / line feed) gelmelidir.
Örnek şu olabilir:
Get-WinEvent -ComputerName UZAKPC -Filterhashtable ` @{LogName="System";StartTime=(Get-Date).AddDays(-7)}
Ama şu adreste bahsedildiği gibi, bu karakterin bazı olumsuz yanları var. Aslında bu karakteri kullanmadan da alt satıra geçerek devam edilebiliyor. Alternatif yöntemler (aynı siteden alıntı):
1. Aritmetik işleçler
Dört işleme ilave olarak bit olarak sağa/sola kaydırma işleçleri sonrasında alt satıra geçilebilir. Örnek:
$GunlukToplamOlaySayisi =
$HaftalikToplamOlaySayisi /
$BirHaftadakiGunSayisi
2. Atama operatörleri
En çok bilinen atama operatörü olarak eşittirden başka artırarak eşittir, çarparak eşittir gibi dört işlemein de oldğu eşittirler var. Ve birkaç tane daha:
= += -+ *= /= %= ++ --
Yukarıdaki örnekte de eşittirden sonra alt satıra geçmiştim.
3. Karşılaştırma işleçleri
Karşılaştırma için kullanılan aşağıdaki işleçler
-eq -ne -gt -lt -le -ge -match -like -in -contains -replace
Örnek olarak
$event[0].properties[0].Value -eq
$event[1].properties[0].Value
4. Mantıksal işleçler
Mantıksal VE, VEYA ve diğer işleçler:
-and -or -xor -not !
5. Ayırma ve birleştirme işleçleri
-split -join
6. Tip işleçleri
Tip karşılaştırması için kullanılan aşağıdaki işleçler
-is -isnot -as
7. Alt ifade işleçleri (subexpression operators)
Paranteze alınmış bir ifadeyi çalıştırmak için kullanılan $( ... ) ifadesi.
8. Dizi oluşturma işleci
Bir dizi oluşturmak için @(...) kullanılıyor. Bu ve içindeki öğelerin her biri ayrı satırlara gelebilir, aşağıdaki gibi.
$BuyukSehirler = @(
'İstanbul',
'Ankara',
)
9. Hash table işleci
ADizi işlecine benzer şekilde hash table işleci @{ ... } ile de alt satıra geçilebilir.
10. Virgül
Dizi öğelerini ayırmak için ya da parametreleri ayırmak için kullanılan virgüller sonrasında da yeni satıra geçilebilir. Bunun örneğini de 8'de vermiştim.
11. Biçimlendirme işleci
Karakter dizilerini biçimlendirmek için kullanılan -f işleci, söz konusu olan.
12. Köşeli parantezler
Genel olarak indekslemek için kullanıldığı durumlarda.
$HaftaninGunleri[
$BirSekildeBugununHaftaninKacinciGunuOldugunuTutanDegisken
]
13. Betik bloğu işleci
İşletilmek üzere bir küme parantezleri içinde oluşturulan bir betik bloğu için küme parantezleri öncesinde ve sonrasında. Örnek:
Invoke-Command -ComputerName UZAKPC -ScriptBlock {
hostname
}
14. Özellik ayırma işleci
Bir nesnenin içindeki özelliğe başvuru yapmamızı sağlayan nokta, burada kastedilen. Noktadan sonra da yeni satıra geçilebilir. Örnek.
$event[0].
Properties[0].
Value
15. Static Member Operator
Sadece örnek:
$Rule = [Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.AvoidUsingConvertToSecureStringWithPlainText]::
New()
15. Menzil işleci
Art arda gelen iki nokta " .. ", başlangıç ve sonu verilen aralıkta düzenli aran veya azalan dizi oluşturmak için kullanılır.
1..
125 | foreach { $_ }
16. Boru işleci
Bir komudun çıktısını başka bir komuda giriş olarak veren " | " işleci.
Get-ADUser -Filter * |
Where-Object { $_.Name -like "Ahm*" }
17. Splatting
Splatting aslında alt satıra geçme işleci değil ama çok satırlı yapıdan kurtulmak için kullanılabilir.
$smtpParams = @{
From = "gonderen@firma.com"
To = "alici@firma.com"
Subject = "deneme mesajı"
}
Send-MailMessage $smtpParam
Tüm bunlardan bağımsız, birden çok satırda olması gereken karakter dizesi değişkenler için @" ... "@ notasyonu var. Yalnız başlangıç işaretçisi olan @" ikilisinden sonra ve bitiş işaretçisi olan "@ ikilisinden önce bir karakter olmamalı.
$Alınti=@"
Halk içinde muteber bir nesne yok devlet gibi
Olmaya devlet cihânda bir nefes sıhhat gibi
"@
Hiç yorum yok:
Yorum Gönder