Bildiğiniz üzere Microsoft firması bugüne kadar geliştirdiği işletim sistemlerinde, kullanıcılar için kolaylık sağlaması amacı ile GUI (Graphical User Interface) ön planda tutulmaktaydı. Böylece kullanıcılarına kolay kullanım imkânı sağlamaktaydı. Fakat MS Server işletim sistemi ailesinde bazen sistemin derinliklerine inmek gerekliydi ve bu işlemler ms-dos ekranından tam anlamı ile yapılandırılamamaktaydı. Ancak Unix, Linux gibi işletim sistemleri daha çok CLI (Command Line Interface) kullanmaktaydı ve bu yüzden sistem yöneticileri sistemin iç noktalarına kadar girebilmekte kararlı uygulamalar çalıştırabilmektelerdi. Microsoft da Powershell yazılımını geliştirdi, artık Microsoft Sistem mühendisleri, sistem yazılımcıları da özgür bir şekilde Microsoft Server ve Clientlar’da sistemin uç noktalarına kadar gezinebilecek ve kararlı sistemler oluşturabilecekler. Peki, nasıl tabi ki POWERSHELL…
Powershell, sistem yöneticileri ve uzman kullanıcılar için tasarlanmış komut satırı bazında bir kodlama dilidir. .NET Framework kütüphanesini destekler, Powershell Kullanıcılar için windows’da çalışır durumda olan uygulamaların yönetimini ve denetlemelerini otomatize etmesine yardımcı olur. Powershell zengin ve geliştirilmiş kodlama diline sahiptir. Zaten .NET framework kullandığından .NET komutları da Powershell de kullanılabilir. Hatta küçük çaplı programlar ile uygulamalar geliştirilebilir. Tutarlı ve kararlı çalışan ms-dos a göre daha zengin içerikli bir tasarımdır, GUI ile yapılacak işlemleri birkaç komut ile daha kısa zamanda gerçekleştirmemize olanak sağlar. Örnek Sekil1
NOT: Powershell .NET kütüphanesi kullanmasının yanında bu kütüphaneden faydalanarak script (betik) yazılabilmesi sistemi yönetmek adına büyük rahatlık sağlar.
Powershell Windows Server 2008 ve Windows 7 de default olarak gelmektedir. Windows XP SP2 , Windows Vista , Windows 2003 SP 1 ‘de kullanılabilmektedir. İşletim sistemine göre versiyonları download etmek için aşağıdaki link i tıklamanız yeterli olacaktır.
http://www.microsoft.com/windowsserver2003/technologies/management/Powershell/download.mspx
Powershell Kullanımı
Powershell’de komutlar yukarıda ‘da bahsettiğimiz gibi .NET komutları ile benzerlik gösterir hatta aynıdır diyebiliriz.
Powershell ekranına erişmek için Windows 7’de Başlat à Tüm programlar à Donatılar à Windows Powershell’e tıklamanız yeterli olacaktır. Eğer bu uzun geldiyse Run’a Powershell.exe yazmanız yeterli olacaktır. Karşınıza aşağıda Şekil 1’de görüntülenen mavi ekran gelecektir. (Komut satırından çalıştırılması durumunda siyah ekran gelir bu kafanızı karıştırmasın.)
Şekil-1
Powershell Komutlar
Veri çekebilmek yani görmek istediğimiz bir işleme ulaşmak için get komutu kullanılır. Bilgisayarımıza herhangi bir girdi eklemek için set komutu kullanılır.
Örnek olarak Get komutunu kullanarak bilgisayarımızdaki Process’leri görelim.
Şekil-2
Hatta bununla yetinmeyip demiştik ya .NET Framework kütüphanesini kullanmakta ve bir çok dil desteklemekte bunun için bilgisayarımızın 1 ‘den 20 ‘ye kadar saymasınız isteyelim.
Bunun için kullanacağımız komut PS C:\Users\PC>”$say = 1..20″ Enter ardından “$say” dememiz yeterli olacaktır komutlar Tırnak içerisindedir. (Tırnaklar olmadan kullanılır.)
Şekil-3
Powershell’de bir çok komutla işlem yapılabilmektedir. Bunların hepsini bu makaleye sığdırmak imkânsız. Sistem yönetiminden tutun da bilgisayarın ciğerlerine kadar işlem yapmak mümkün nede olsa .NET tabanlı bazı komutlar ile işlemler gerçekleştirelim. Cmdlet, Alias gibi bazı komutlar kullanılarak çeşitli işlemler gerçekleştirilebilir. Bu komutları aslında birer kategori olarak düşünmeliyiz çünkü kendi iç yapıların da yüzlerce komut barındırırlar. Öncelikle bu komutlara açıklama getirmek gerekir.
Cmdlet : Bilgisayarı komut satırından yönetmemizi sağlar. Örneğin, kayıt defteri, veri depolarına ve dosya sistemine kolay erişim imkanı sağlar. Windows sistem yönetim araçları, olay günlükleri, hizmetler ve işlemleri gerçekleştirmek için129 standart cmdlet komutu vardır.
Alias (takma ad) : Powershell ekranında sürekli kullandığınız bir komut için kısaltma uygulayabilirsiniz örneğin silme işlemi gerçekleştireceksiniz remove item yerine bunu Alias ile ri olarak kullanabilmektesiniz. Aşağıda Alias ile kullanılan örnekler görüntülenmektedir.
Yukarıda da bahsi geçen set komutu ile yeni bir alias tanımlayabiliriz. Yani kullanmak istediğimiz bir komuta takma ad verebilir ve o komutu verdiğimiz set parametresi ile tanımladığımız takma ad ile çağırabiliriz. Örneğin get-process ‘i ba olarak tanımlayalım komutu “Set-alias ba Get-process”
Komut olarak “get-alias” veya sadece “alias” yazmanız yeterli olacaktır.
Şekil-4
Şekil-5
Hepsi bu mu? Hayır tabi ki gerçekleştirmek istediğimiz işleme göre yüzlerce komut mevcut. Peki, bir yardım yok mu bir kolaylık Microsoft Powershell’de bunu bizler için düşünmüş.
Powershell Yardım Komutu
Herhangi bir komut ile ilgili olarak yardım almak istiyorsanız. “Help” komutu veya “Get-help” demeniz yeterli olacaktır, yardım için gerekli ekran görüntülenecektir.
İşlem yaptığınız bir komutun diğer komutları ile ilgili bilgi almak istiyorsanız “Help” komutu işinizi görecektir. Service hakkında bilgi almak istiyorsunuz veya service için kullanacağınız diğer komutları görüntülemek istiyorsunuz bunun için “Get-help service” demeniz yeterli olacaktır.
Şekil-6
Şekil 6’de görüldüğü üzere servisi stop edebilir start edebilir beklemeye alabilir yeniden başlatabiliriz. Aslında biraz kurcalandığında Powershell kullanmak GUI kullanımına alıştığımız için zor görünse’de korkulacak pek fazla şey yok.
Artık Powershell hakkında az çok bilgimiz oldu bunu geliştirip kullanmak sizlerin elinde. Powershell ile artık özgürüz.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
Yukarida bahsettigimiz set komutu demissiniz ama yukarıda bahis mevzu degil.. Adim adim aydinlatici bir yazi…Cok tesekkurler
ÇOK BAŞARILI BİR YAZI OLMUŞ POWERSHELL HAKKINDA BİŞEYLER ÖĞRENDİM