0

Windows PowerShell – Enumerating Object – Devam – Bölüm 8. Bu bölümde datanın Pipeline üzerinden nasıl Bind edildiği konusu üzerinde duracağız. Muhtemelen bundan sonraki makale de aynı konunun devamı niteliğinde olacak.

Powershell mimarisinde pipe objeleri bir cmdlet’ten diğerine kolaylıkla transfer edilebilir. Bu işleme Pipeline parameter Binding denir.

Bu işlem yapılırken temelde iki teknik kullanılır.

  • ByValue : Her zaman ilk olarak denenen Binding metodudur.
  • ByPropertyname : Eğer ByValue metodu hata alırsa denenecek olan metodudur.

 

ByValue Tekniği ile Data Aktarılması

Pipeline üzerinden data transferi yapılırken kullanılan ilk tekniktir.

Bu konuyu anlatırken bir örnek üzerinde ilerlemekte fayda var.

Get-Service komutu aşağıdaki gibi çalıştırıldığında string olarak verilen servis isimlerinin Get-Service cmdlet’i ile direk Bind olduğu görülür.


Resim-1

Komut aşağıdaki şekildeki gibi incelendiğinde Pipeline içerisinde string olarak verilen servis isimlerinin şekildeki gibi görünmez olan –Name Property’si ile Bind olduğu görülmektedir.


Resim-2

-Name isimli Property’nin Pipeline’dan data kabul ettiği tekniği görüntülemek için aşağıdaki komutu çalıştıralım.


Resim-3

Şekildeki numaralı bölümler incelenecek olursa,

1 numaralı bölüm Get-Service komutunun –Name parametresine String array olarak Pipeline üzerinden obje kabul ettiğini gösterir.

2 numaralı bölümdeki “Accept Pipeline input” Pipeline üzerinden obje kabul edilip edilmeyeceğini, edilirse hangi teknikle edileceğini gösterir.

Burada Get-Service cmdlet’i için iki teknikte kullanılabilir durumda. (ByValue ve PyPropertyName)

Get-Process cmdlet’inin Name Property’si için aynı komut çalıştırıldığında Teknik olarak ByValue kullanılmadığı görünür.


Resim-4

Bu durumda Get-Process komutuna Pipeline üzerinden direkt olarak String değer verildiğinde komut aşağıdaki gibi hata verecektir.


Resim-5

Bunun nedeni Get-process cmdlet’inin Pipeline üzerinden sadece PropertyName olarak değer kabul etmesidir. Yani Pipeline üzerinden Name Property’sine sahip bir obje gelmelidir. Get-Process cmdlet’i ancak gelen bu objenin Name Property’si ile Bind olabilir.

Özetle belli komutlar ByValue tekniğini kullanıp Pipeline üzerinden direkt olarak değer kabul edebilirler. Etmeyenlerde olabilir. Bunlar direkt olarak gelecek obje üzerinde aynı isimde Property ararlar.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Microsoft DMOC

TAGs : powershell, Microsoft powershell, Windows powershell, powershell nedir, powershell kullanimlari, powershell eğitim, powershell eğitim seti, powershell Enumerating Object, Enumerating Object nedir, Enumerating Object powershell

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir