Evet arkadaslar! Bir sene daha gecti ve yine Azure Global Bootcamp’i konusmaya basladik. 11-13 Mayis tarihlerinde tum dunyada ayni anda gerceklesecek olan bu etkinligin Istanbul ayaginda bulusalim! Detaylar cok yakinda asagidaki linkte
Fonksiyon parametrelerinin baska parametrelerin degerlerine gore aktif olup olmamasi saglanabilir. Ornegin sayi parametresine verilen deger 4’ten buyukse, sayi2 parametresini kullanabilmeye izin vermek mumkundur, Bu durumda eger Sayi parametresinin degeri 4’ten kucukse sayi2 parametresi devredisi kalir ve kullanici bu parametreyi fonksyion icinde kullanamaz.
Bir fonksiyonunu parametre degerlerinin dinamik bir sekilde belirlenmesini saglar. Ornegin bir fonksiyon icinde dosyaAdi ismindeki degiskenin degerinin, spesifik bir klasor icindeki dosyalarin isimlerinden biri olarak kullanilmasini isteyebiliriz.
Bir parametre degerinin null olarak verilip verilemeyeceginin belirlendigi ozelliktir. Asagiki ilk ornekte bu ozellik kapali, digerinde ise aciktir. AllowNull ozelligi sayesinde “isimler” adli degiskenin degerini Null olarak belirleyebilirsiniz.
Bir parametrenin alcacagi degerleri onceden fonksiyon icine tanimlarsaniz, o degerler disinda bir degerin kullanici tarafindan verilememesini saglarsiniz. Boylece kullaniciya sadece belirli opsiyonlar icinden secim yapma sansi tanimis olursunuz.
Bir fonksiyon icinde birden fazla parametre seti kullanabilirsiniz. Boylece kullanici, fonksiyonucagirirken hangi parametreleri kullanmissa ona gore ilgili islemleri dinamik olarak yaptirabilirsiniz. Ornegin bir fonksiyon icinde 3’u bir set, diger 4’u ayri set icinde olmak uzere toplam 7 adet parametre varsa, kullanici bu iki setten birini secerek parametrelerini vermek durumundadir. Boylece verilen parametrelere gore PowerShell ilgili fonksiyonu cagirir.
Fonksiyon parametre degerinin pipeline icindeki baska bir parametrenin degeri olarak kullanilmasini da saglayabiliriz. Bunun icin pipeline icindeki (sol taraftaki komut) komutun parametre ismi ile fonksiyon icindeki parametre isminin ayni olmasi gerekir. Ornegin; Get-Service komutunu pipeline’nin sol tarafinda belirtirsek ve -Name parametresini kullanirsak, buradaki Name degeri, pipeline’nin sag tarafinda bizim cagirdigimiz fonksiyonun de Name degeri olarak kullanilacak demektir. Eger fonksiyon icinde Name yerine baska bir parametre ismi kullanirsam PowerShell hata verecektir. Cunku onun aradigi isim Name’dir.
function Get-ServiceDetails{
Param(
[Parameter(Mandatory,
ValueFromPipelineByPropertyName)]
[string[]]
$Name
)
$name
}
Bir fonksiyonunun parametrelerini zorunlu hale getirmek istersek, parametrenin Mandatory ozelligini kullanabiliriz. Boylece bir fonksiyon cagrilirken ilgili parametrelerin mecburi olarak verilmesi saglanabilir.