PowerShell TEMEL DERSLER 4 (PowerShell’i keşfediyoruz…Get-HELP)

Merhaba Arkadaşlar, yeni bir makalede yine birlikteyiz. Umarım temel dersler konusu ile ilgili herhangi bir probleminiz yoktur. Temel derslerdeki asıl amacım powershell in komut ve detaylarından ziyade neye nasıl ulaşacağınızı öğretmek. Herşeyden önce powershell in ana temasını öğrenmek gerekiyor. Yani neyi nasıl kullanırım ve neye nasıl ulaşırım bence asıl öğrenilmesi gerekenler bunlar. Komut ezberleme parametre ezberleme bunlar derya deniz… İstesenizde başaramazsınız başarsanızda unutursunuz. Komut ve detaylara birazdan anlatacağımız Get-Help Komutu ile zaten ulaşabiliyor olacağız. Önemli olan neye nasıl ulaşırım, hedefime giderken kullanacağım araçlar nelerdir, ihtiyaç duyduğumda en kısa yoldan nasıl ulaşırım yöntem ve disiplinine sahip olmak. Örneğin bir aracınız ve bir tamir çantanız var. Tamir çantanızdada onlarca araç var o araçların boyutlarını numaralarını özelliklerini bilmeniz ezberlemeniz gerekmez aklınızda bir tamir çantanız olduğunu bilin yeter aracınız bozulduğunda o tamir çantasına şöyle hızlı bir gözattığınızda zaten aracınız için lazım olan şeyi bulacaksınız. Get-Help komutuda tam olarak böyle birşey

Bir önceki makalemizde kısmen Get-Help komutu ile parametreleri nasıl keşfettiğimiz görmüştük. Şimdi çemberi biraz daha genişletelim.

Powershell yardımı, powershel i keşfetmek için müthiş bir kaynak olmasına karşın size tavsiyem bu alanda çalışma yapan yerli yabancı tüm powershell severlerin bloglarından faydalanmak çünkü aynı problemin farklı algoritmalarla nasıl çözüldüğünü göreceksiniz ve basit bir problemin çözüm algoritmasını kendi karmaşık problemlerinizin çözümüne nasıl entegre edeceğinizi göreceksiniz. Powershell de trikler o kadar kısa ve basittirki gerçek hayatta hayat kurtarır şeylerdir… Powershell yardımını  kullanmaya aşina değilseniz asla iyi bir powershell ci değilsinizdir 🙂

Şimdi Get-Help i anlatmaya başlayalım. Get-Help komutunu prompta yazıp çalıştırdığınızda aşağıdaki ekran görüntüsünde işaretlenen alana dikkat çekmek isterim.

Yeni Bit Eşlem Resmi

Help in en önemli özelliği online yardıma ulaşabiliyor olmanız yada istediğiniz an anlık güncel help datasını powershell inizle eşleştirebiliyor olmanızdır.

Get-Help Get-ChildItem -Online komutu varsayılan browser ı kullanarak bizi

komutun microsoft tarafındaki sitesine yönlendirir.

Snap_2018.02.20 16.18.17_005

Yuvarlak içinde belirttiğim alandan, ilgili komutun diğer powershell versiyonlarındaki yardım dosyasınada erişilebilir.

Genellikle komutun sıkıcı görünen bolbol köşeli parantez büyük küçüktür sembolleri içerisinde karmaşık parametrelerini kimse görmek istemez tahmin ediyorumki powershell den korkup kaçan yada önyargı ile bakan insanlar bu yüzden uzak duruyorlar. Emin olun orda gördüğünüz parametrelerin nerdeyse yüzde 70 i ile işiniz olmayacak. En çok kullanılan parametreler Örnek komutların içerisinde anlatılmıştır. Ben genellikle örnekler üzerinden incelememi yaparım sonrasında detay çalışmam gerekiyorsa parametre ve kullanımlarına yönelik bakarım bence sizde öyle yapın 🙂

unbenannt29

unbenannt30

Update-Help -UICulture ‘en-US’ -Force komutu ile help inizi en son güncel haline getirebilirsiniz. Kullanmış olduğunuz  sisteminizin UICulture değerini Get-Culture komutu ile öğrenip  –UICulture parametresini özelleştirebilirsiniz. Bu komutu uyguladıktan sonra artık help iniz günceldir bu sayede online parametresini kullanmadanda güncel bilgilere erişebilirsiniz.

Get-ChildItem için yardım alma ; Get-Help Get-ChildItem

Snap_2018.02.20 16.36.38_006

Ne demiştim komutta parametrede ezberlemeyin 🙂

Snap_2018.02.20 16.48.51_007

Get-Help Komutu yazıp “-” ifadesinden sonra CTRL+Space tuşlarına birlikte bastığınızda kullanabileceğiniz parametreler çıkmakta buradan ok tuşları ile kullanabileceğiniz parametreler içerisinde gezebildiğiniz gibi komutu yazıp “-” işaretinden sonra TAB tuşuna basarakta kullanabileceğiniz parametreleri görebilirsiniz. Bir uyarı CTRL+Space yönteminde bulunduğunuz konuma göre ekrana sığmayacak kadar fazla seçenek çıkabilir 🙂

Genel olarak Get-Help ifadesinden sonra yardım almak istediğimiz komut girilir.

Örneğin C:\>Get-Help Get-ChildItem komutunu girdiğimizde Get-ChildItem ile ilgili yardım alabiliriz. (Not: Get-ChildItem eski Ms-Dos alışkanlıklarımızdan dir komutunun yerine geçer yani dosyaları göstermeye yarar. Tahmin ediyorum sadece bu komut ile ilgili ilerleyen tarihlerde birden fazla makale yazmış olacağım.)

Aynı komutu C:\>Help Get-ChildItem olarakta girebiliriz. Yani Get-Help komutunun takma adı help dir sizin help yazmanız aslında Get-Help yerine geçer takma adlar yani aliaslar bu örnek için çok bir önem arzetmesede yazılması uzun ve sık kullanılan komutlar için çok işinize yarayacaktır. Bazı komutlar hem uzun hem yanlış yazmaya müsait olabiliyorlar. Çok kullandığınız komutların aliaslarını kullanmanızı öneririm. Örneğin Get-ChildItem yazmak yerine “ls” yazıp geçmek daha kolay olmazmıydı.(Küçük bir uyarı, PowerShell i öğrenme aşamasında alias kullanmayın.)

Get-Help i -ShowWindow parametresi ile kullanalım

Snap_2018.02.20 17.23.27_010

Sizde farklı parametreleri kullanarak deneme yanılma yapmaktan çekinmeyin.

C:\>Get-Help Get-ChildItem -Examples sadece komut ile ilgili örnekleri ve açıklamalarını gösterir.

Snap_2018.02.20 17.26.52_011

Birazda Get-Date komutundan örnekler verelim. En çok kullanılan komutlardanmı desem yoksa her scripte mutlaka tarih saat ile ilgili bölümler oluyormu desem bilemiyorum ama bu komutu mutlaka kullanabiliyor olmanız gerekiyor. Çünkü Tarihle ilgili işlemler sistemsel scriptlerde nerdeyse kaçınılmaz. Bu komutta öyle sadece tek başına Get-Date şeklinde pek kullanılmaz.

Snap_2018.02.21 08.22.01_001

Örneğin Tarih saatin  bazen sadece saat kısmını bazen sadece yılın kaçıncı çeyreği olduğunu bazen sadece gün kısmını yani çıktıyı parçalarına ayırıp ilgili parçayı kullanmanız gerekebilir. Get-Date komutu ile ilgili olarak ayrı bir makale hazırlayacağımdan emin olabilirsiniz. Onun için çok üzerinde durmayacağım.

Help Get-Date -Examples 

unbenannt32

(Get-Date). yazıp CTRL+Space yaptığımda kullanabileceğim parametre ve methotları görüyorum.

Snap_2018.02.20 18.04.55_012

Dikkat ettiyseniz ilk defa metotlardan bahsetmeye başladım. Metodları fonksiyon gibi düşünebilirsiniz. En yalın tabiri ile anlatmak gerekirse elinizde bir sayı olduğunu düşünün bu sayı 9 olsun sonra bu sayının karesini aldığınızı düşünün elbetteki sonuç 81 dir. İşte bunu yaparken kullandığınız şeyin adı aslında kare alma fonksiyonuydu. Yani sayınızı kendisi ile çarparak kare alma işlemini, fonksiyonunu gerçekleştirmiş oldunuz. Fonksiyonunuzda şuydu “Sayı x ise fonksiyon x kare”

Metodlarda aynı mantıktadır. Mesela ekran çıktısındaki AddDays bir metoddur.

(Get-Date).AddDays(3) komutunu çalıştırdığınızda Get-Date komutu üzerinde o komuta özel bir metod çalıştırmışsınız demektir. Buda mevcut tarihe 3 gün ekleyip sonucu size döndürür.

Snap_2018.02.21 08.31.59_002

Metodların parametrelerden bir farkı parametreler “-” işareti ile kullanılırken methotlar “.()” parantezleri ile birlikte kullanılır. Örneğimizde  .AddDays methotuna 3 argümanını verdik.

Temel dersler bölümünden devam ettiğimiz için metodların detayına şimdilik girmiyorum. Fakat çokta girilecek bir yanı yok işin özeti bu 🙂

Aşağıdaki çıktıda 1 numaralı örnekte parametre kullanımı ile bir tarih oluşturulurken 2 numaralı örnekte oluşturulan çıktı üzerinde bir methot çalıştırılmıştır. Bazı methotların parantez içine bir arguman almak zorunda olmadıklarınıda hatırlatalım.

Snap_2018.02.21 08.40.41_005

Get-Help Get-Date -Full komutu ile Get-Date komutuna ait tüm yardımı görüntüleyebilirsiniz. Bunlar parametreleri ve parametrelerin özellikleri görüntülerken

Get-Help Get-Date -Detailed komutu parametreleri ve açıklamalarını gösterir.

Snap_2018.02.21 09.28.21_006

Pekiya Powershell yardım dosyaları Nerde? Çok önemli mi? evet çok önemli unutmayın “Avcunuza alamadığınız hiçbirşeye hakim değilsinizdir” (Kürşat ARI 🙂 ) Bir konuyu tüm yönleri ile biliyor olmanız gerekiyor. O zaman devam edelim. Help dosyaları

C:\Windows\System32\WindowsPowerShell\v1.0\en-US\   Klasörü altında bulunur.

Snap_2018.02.21 09.31.26_007

Dosya içeriği Microsoft.PowerShell.Commands.Management.dll-Help.xml. için

Snap_2018.02.21 09.34.36_008

Ayrıca (Get-Command Get-Help).Helpfile komutu ilede ilgili komutun hangi .xml yardım dosyasında olduğunu görebilirsiniz.

Snap_2018.02.21 09.40.00_009

Bir makalemizin daha sonuna geldik umarım powershelli keşfetmek için olmazsa olmaz komutlardan olan Get-Help komutunu anlaşılabilir şekilde ifade etmişizdir. Powershell i keşfetmenin iki temel komutu Get-Command ve Get-Help tir. Bu iki komutun çok iyi anlaşılmış ve kullanılabiliyor olması gerekiyor. Bu komutlar uzayı inceleyen bir astronomun teleskobu gibidir olmazsa olmaz.

Bir sonraki makalemizde görüşmek üzere…

Kürşat ARI / System Engineer & PowerShell Developer

 

Reklamlar

1 Comment

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s