Powershell Fonksiyon Kullanımı – Part 2

Yazımızın ilk bölümünde Fonksiyon kullanımın önemini, kullanım şeklini ve basit bir örnek yaparak anlatmaya çalıştık. Birkaç farklı örnek ile fonksiyonları anlayama devam edelim. Yine örnekler üzerinden kolayca ilerlemeye çalışalım. Geliştireceğimiz örneğin amacı verdiğiniz tarihin yılın kaçıncı günü olduğunu Powershell Console üzerine yazdırması olsun. Öncelikle yapmamız gerekenleri hemen özetliyoruz.

  • Fonksiyon Adı : Verb-Noun ilişkisi
  • Parametre : Henüz kullanımı yok. İstebilirse tarih parametre olarak gönderilebilir.
  • Script Block : ‘Get-Date’ cmdlet’i içerisinde bulunan ‘DayOfYear’ methodu ile kolay bir şekilde gönderilen tarihin yılın kaçıncı günü olduğunu anlamak mümkün.

Fonksiyon oluşturmak için hemen ismiyle başlayalım.

‘Return-DayOfYear’ isimli function anahtar kelimesiyle başlayan satırımızı ve süslü parantezlerimizi koyarak fonksiyonu oluşturmayı başardık. Süslü parantezler içerisine ( Script Block ) kısmına artık fonksiyonun yapması gerekenleri yazmamız gerekiyor.

‘Get-Date’ cmdlet içerisne istediğim tarihi yazdım ve dikkat ederseniz parantez içerisine alıp ‘DayOfYear‘ methodunu çağırmayı başardım. Cmdlet altındaki methodları parantez içerisine alarak görme şansınız var.(Get-Member incelenebilir.) Daha sonra Powershell Console ekranına Yılın kaçıncı günü olduğu bilgisi kolay bir şekilde yazacaktır. Bu sayede sizde bu basit fonksiyonu raporlar yaparken ufak notlar almak için kullanabilirsiniz.

Ufak bir hatırlatma yapalım, geliştirilen fonksiyonların Powershell’in anlayabilmesi için session içerisine aktarılması yani çalıştırılması gerekiyor. Powershell içerisine tanıtımı yapıldıktan sonra o session boyunca kullanıma devam eder ve Powershell Drive içerisinde ‘Function Drive’ içerisinde saklanır. Geliştirdiğiniz fonksiyonların her Powershell Session içerisinde kalması için yapılması gereken birkaç yöntemler bulunmaktadır. Bunlar yazımızın ilerleyen kısımlarında açıklıyor olacağım.

Powershell Drive içerisinden fonksiyonların görünümü aşağıdaki gibidir.

Function drive içerisine girdikten sonra geliştirdiğiniz fonksiyonlar burada saklanmaktadır.

Fonksiyonların kaldırılması için ilgili PowerShell oturumunun kapatılması sağlanabilir. PowerShell konsolundan ya da çalıştırılan script içerisinden çıkıldığında fonksiyon ve fonksiyona atanan değerler kaldırılacaktır. Ayrıca Del komutu kullanılarak ilgili fonksiyon aynı oturum içerisinde silinebilir. Aşağıdaki örnek üzerinden bunu gerçekleştirebilirsiniz.