26 Eylül 2008 Cuma

Powershell: Bilmemek değil Öğrenmemek ayıp olan şey!

Dünya ikiye ayrılır;

Unix kullanıcıları ve Windows kullanıcıları (Linux & Mac'i Unix ailesinde sayıyorum). İş sistem yöneticiliğine geldiğinde Unix/Linux kullancıları hep ulaşılmaz ve bir adım önde görülmüştür. Bir bakıma gerçekten de öyledir. Onların türlü türlü shell'leri (bourne, krne, C v.s.) vardır. Ama Windows(cuların) yoktur. Windows kullananlar hasbel-kader MS-Dos zamanlarından kalma cmd (command) shell'ini kullanırlar ki bu da MS-DOS'un oldukça kısıtlanmış bir halidir. Hazır bir kaç komutu kullandırır. Bu yüzden command shell denmez, command prompt denir. Komut satırından Windows'u yönetmek mümkün değildir.

İyide kim ne yapsın güzel pencerelerle iş yapmak varken o ucube kara ekranı?

Evet haklısınız (gibi görünüyor). Pencereler size işinizi kolaylaştırmak için başkaları tarafından hazırlanmış uygulamalar sunar. Hazırdır. Sizi yormaz. İstediğinizi yapar (ama her dediğinizi değil).

Buna rağmen yinede Windows'a her istediğini yaptırtmak isteyen ve pencerelerin ardından evin içini rontgenlemek isteyecek kadar rahatsız arkadaşlarımız bulunuyor (ki biz bunlara sistem yöneticisi diyoruz.) Peki onlar ne yapacaklar?

İşte tam bu noktada script dilleri imdada yetişir (Visual Basic Script, Java Script, Windows Scripting Host). Biraz daha kendine güvenenler ise pencereyi açıp odayı havalandırmak için C, C++, C# 'in içinde kestirmeden nirvanaya ulaşabilirler.

Ayrıca script dilleri kaş yapayım derken göz çıkartabilir. Zira güvenlik zaafları çoktur.

İyide bunlar shell değil? Hem shell'de neyin nesi? Türkçe konuşun anlamıyorum!

Shell, ünlü petrol şirketi. Amblemini hatırlıyorum. Amblemde istiridye kabuğu vardı. Demek ki shell istiridye kabuğu. İstiridyenin içinde de incisi vardır. Bu incisinin bilgisayarcasına "kernel" denil. Bu inci işletim sisteminin özüdür, çekirdeğidir. Ne komutu varsa onun içindedir. Kabuk onu çevreler.

Sadede gelirsek, anladığınız üzere, shell üzerinden vereceğiniz tüm komutlar doğrudan işletim sisteminin özüne işler. Bir sistem yöneticisinin elinde bu büyük bir güçtür.

Tamamda windowsda doğru düzgün bir shell yok!

Evet haklısınız yok. 1995 yılından beri de kimse bu durumdan şikayetci olmamış olacak ki (ironik bir durum) 2006 yılına kadar Microsoft'un aklının ucundan bile geçmemiş; -diyecektim ki- sonradan ne olduysa oldu 2006 yılında Vista'nın yayınlanmasından bir kaç ay sonra PowerShell'i duyurdu ve böylece sistem yöneticileri kara ekrana dönüş yapma şansını yakaladılar. (bir farkla artık bu ekran mavi, bana bizim ilkokul önlüklerini hatırlatıyor nedense)

Şu anda sitesinden indirip XP/Vista/Windows Server'ınıza (dikkat sürümleri ayrı ayrı) kurup çalıştırabilirsiniz üstelik hem 32 hem 64bit sürümleri mevcut.

http://www.microsoft.com/technet/scriptcenter/topics/winpsh/pshell2.mspx

sitede yeni başlayan biri için fazlası ile bilgi mevcut.

Gelelim Powershell'in faydalarına

İnsanın yaşı ilerleyip alışkanlıkları oturdukça, değişimden hoşlanmaz. Yeni bir şeyleri silbaştan öğrenmek ise ölüm gibi gelir. Bu gerçekten yola çıkıp tam da ben bu saatten sonra neden yeni bir shell öğreneyim ki dediğim bir sırada Powershell'i öğreniverdim. Öğrendim çünkü powershell cidden öğrenilmesi son derece kolaydı.

Powershell'i öğrenmek için nedenleri bir sıralayalım bakalım;

1. Öğrenmesi kolay, çok mantıklı düşünülmüş bir söz dizimi/komut yapısı var. 3 temel komutu öğrendikten sonra neredeyse tüm powershell'i sökebilirsiniz. (get-help, get-command, get-
member)
2. Kendileri hem shell, hem de kendi başına bir script dili .
3. Text tabanlı değil, nesne (object) tabanlı, yani powershell'de değişkenler dahil herşey birer nesne.
4. Nesne yönelimli oldğu için COM ve .Net nesnelerin hepsini kullabiliyor, kontrol edebiliyor.
5. Microsoft bundan sonra Powershell'e ciddi yatırım yapacağını duyurdu. Bundan sonraki tüm işletim sistemlerinde dahili olarak gelecek. Daha başka sürprizleri de olabilir(miş). Şimdilik sitesinden indirip işletim sisteminize (uygun sürümünü)kurmanız gerekiyor.
6. Erken kalkan çok yol alır. Şu anda yeni olması sebebi ile şimdiden öğrenmeye başlayan biri ilerde avantaj sahibi olabilir. Hem microsoft buna kafayı taktığına göre ilerde isteseniz de istemesenizde bulaşacaksınız.
7. Hepsi bir yana gerçekten de çoğu zaman tek bir komutla satır satır script'in yaptığı işi komut satırından yapabiliyor ve anında sonucu alabiliyorsunuz.
8. Scriptlerin yerel yada uzaktan çalıştırılabilmesini kontrol eden bir güvenlik sağlaması.
9. Daha ne istiyorsunuz?

Artılar ve eksilere şöyle bir bakalım. Eğer bir microsoft windows sistemleri yöneticisi iseniz powershell bilmemek değil bundan sonra ancak öğrenmemek ayıptır.

1 yorum:

Coder dedi ki...

Yıllardır Profesyonel kodlama yapıyorum , hayatımda Powersehll kadar uyduruk ve beş para etmez bir şey ile karşılaşmadım Microsoft herhalde uyuşturucu çekip aldı bu kararı nedenmi ?

1. Her bilgisayarda hr komutu çalışmaz (Bazı komutlar sadece yeni sürümlerde çalışır)
2. Vbs ye göre daha yavaş çalışır
3. Daha fazla bellek kullanır
4. MSI dosyalarının içerisinde çalışma izni YOKTUR
5. Powershell operatörlerinin hiçbir programlama diline uymaz , Uyduruk ve kullanışsızdır
....
Yapmayın Allah aşkına Microsoftun her dediğini tanrı buyruğu gibi kabul etmeyin yazıktır