Bu yazımızda uzun süre önce hazırladığım ama bir türlü düzenleyip siteye koyamadığım powershell’den bahsedeceğim. Powershell ile ilgili anlatacaklarımı genel hatlarıyla dört başlıkta toplayacağım. İlk makalemiz powershell nedir, niye kullanmalıyız ve powershell için sistem gereksinimleri gibi konuları içerecektir. İkinci makalemizin konusu powershell’de alias kullanımı, üçüncü makalemizin konusu cmdlet kullanımı, dördüncü ve son makalemizin konusu ise scripting ve windows programlarının kullanımı olacaktır. Daha fazla uzatmadan powershell nedir ile başlamak istiyorum.
Windows PowerShell, Microsoft’un BT uzmanlarına yardımcı olmak ve verimliliği arttırmak için geliştirdiği bir komut satırı aracıdır. Yönetimsel kullanım için geliştirilen bu betik dili 130′dan fazla komut içerir. Bu komutlar cmdlet olarak adlandırılır.
Komut satırından özel komutlar ve programlama (scripting) olanakları sunan shell ortamı genellikle tipik yönetim işleri için kullanılabilecek bir alternatiftir. Örneğin servislerin yönetimi, Active Directory nesnelerinin yaratılması gibi…
Windows Powershell, Windows XP, Windows Vista, Windows Server 2003 ve Windows Server 2008 tarafından desteklenmektedir.
PowerShell’le komut satırı programları çalıştırılabilir ve Not Defteri gibi GUI arabirimine sahip programlar başlatılabilir, tabii ki bunun için programların PATH’lerinin bir dizinde bulunması gereklidir. PowerShell’le çalışılırken aslında .NET nesneleriyle çalışılmaktadır. Örneğin PowerShell’le bir servis çağrıldığında aslında o servisi temsil eden nesne çağrılmış olur. Aynı zamanda o servis ile ilgili bilgiler görülmek istendiğinde servise ait nesnenin özellikleri görülmüş olur.
Windows PowerShell’in tutarlılığı en önemli özelliğidir. Örneğin,bir komut girdisi başka bir komutun çıktısı olmaktadır, böylece tek bir komut içerisinde gerekli bağlayıcıları kullanarak birden fazla yönetimsel işlemi gerçekleştirebiliriz. Her komut için değişik sıralama yordamlarını öğrenmemize gerek yoktur. PowerShell, arayüzlerin tutarlı olabilmesi için komutları güçlendiren ve ana özellikleri sağlayan bir framework sunmaktadır.
Yeni Bir Betik Dili
Windows PowerShell var olan diğer diller yerine aşağıdaki sebeplerden dolayı kendine ait olan dili kullanır.
Windows PowerShell Kurulum Gereksinimleri
PowerShell kurulumu için donanımsal açıdan özel bir gereksinim’e ihtiyaç yoktur. Yazılımsal gereksinimleri ise aşağıdaki gibidir:
Windows Powershell’i indirmek için;
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx
Otomatik Tamamlama
PowerShell’in sunduğu kullanım kolaylıklarından bir tanesi de otomatik tamamlama özelliğidir. Tab tuşuna basarak yalnızca yazdığımız komutları değil bunların argümanlarını da tamamlayabilmektedir. Argüman tamamlama olayı aslında komutların .NET platformu tarafından desteklenmesinden ve bu komutların daha önceden tanımlanmış olmasından kaynaklanmaktadır.
Bazı eksikleri bulunan bu özellik ilerleyen versiyonlarda geliştirilecektir.
Pipeline
Nesne kullanımının avantajlarından birisi de pipeline (boru) komutundan sayesinde daha kolay kullanılabilmesidir. Yani bir komutun çıktısı başka bir komutun girdisi olmaktadır. İletişim çoğunlukla çıktıyı bir format’dan diğerine döndürmek, sütun başlıklarını silmek ve dizgi manipülasyonu istemektedir.
Windows PowerShell, metinlerinden çok nesnelere dayanan yeni bir model sağlamaktadır. Objeleri çalıştıran cmdlet’ler herhangi bir dönüştürme olmaksızın metodlar ve özellikler üzerinde doğrudan bir rol oynamaktadır. Tabi ki bu özellikler cmdlet’e ait olanlardır. Kullanıcılar çıktı’daki verinin durumunu hesaplamak yerine nesnelerin metodlarına ve özelliklerine değinebilir.
Aşağıdaki örnekte cmd’den bilindiği üzere Ipconfig komutunun çıktısı gösterecektir.
Pipeline bir cmdlet ile veri elde ederken, diğer verileri filtrelemek için kullanılır. Filtreleme yapan Cmdlet veriyi birinci Cmdlet’e geçirir. Böylece istenilen sonuçlar alınmış olur.
Örnek: get-process | sort-object id
İlk komutumuzla get-process komunu çalıştırdık, ardından bu bilginin sort-object komutu ile sıralanmasını sağladık.
İkinci komutumuzla ise service listesini alıp bir dosyaya aktardık.
mikro efatura, mikro e-fatura, mikro edefter, mikro e-defter, Mikro Bayi, Mikro Bayii, Mikro v15, Mikro 15, Mikro Destek, mikro yazılım, mikro yazılım bayi, mikro yetkili satıcı, mikro bayileri, mikro programı, mikro yazılım, mikro yardım