18 Nisan 2015 Cumartesi

PowerShell



PowerShell ile ilgili araştırmalarımın ve gerçekleştireceğim ufak Scriptingleri sizinle paylaşmak istiyorum . 

Öncelike PowerShell ,  Windows 7 ile default olarak sistemlerimizde bulunan daha öncesinde Kasım 2006 da ilk olarak Windows Vista işletim sisteminin bir parçası olarak planlanmıştır . Microsoft Exchange Server 2007 ile birlikte ilk olarak piyasaya sürülmüştür . PS1 XP , Server 2012 ve Vistaya free olarak download edilebilmektedir.Betiklerimizi oluşturduğumuz ve kısaca Microsoft tarafından Windows komut satırı ( Cmd.exe) ve Windows Script Host (WSH) alternatif olarak geliştirilen yeni nesil komut satırıdır . 




İlk bakışta basit bir komut satırı gibi duran "Powershell", aslında bundan çok daha fazlasıdır, hatta bir programlama dili derleyicisi yapısına sahiptir ve birçok programlama dilinde yapılabilecekleri bünyesinde barındırır. Bu sistem yöneticileri için büyük kolaylıklar sağlamıştır. Arayüzden yapabilecekler ve daha fazlası Powershell kullanılarak çok kısa sürede yapılabilir.



Powershell arayüzüne komutlar metin tabanlı olarak girilse de aslında arka planda nesne tabanlı bir yapıya sahiptir. Yani powershell metinleri işlemez,  .NET ortamına dayalı nesnelerle işlem yapar.
Powershell’de komutların çalışma mantığı .Net ile aynıdır. Tüm komutlar fiil-isim şeklinde bir kullanıma sunulur. Örneğin sistemdeki çalışan süreçleri görüntülemek için “Get-Process” komutu kullanılır.(Resim-2)

Resim-2

Resim-3


(Resim-3) ' de gösterilen komut ile Get-Host ile PC de bulunan PowerShell versiyonunu tespit edebilirsiniz . 

PowerShell , Cmd gibi çok sayıda komut içermektedir .  Bunların hepsini akılda tutmak imkansızdır . Bunun için tüm komutlarını sıralayarak en azından anımsatma açısından size Get-Command destek olacaktır . (Resim-4)



Resim-4


(Resim-4) de ekrana getirdiğim komutlar tabiki tümünü göstermemektedir . Daha da fazla olabileceğini tahmin etmişsinizdir . Bu Cmdlet lerin PC de default olarak yüklenenlerini daha kolay olarak ISE uygulamasını açarak uygulamanın sağ tarafında otomatik gelen komut listesinden de ulaşabilirsiniz . Aslında PowerShell'in ilk GUIsi olarak düşündüğüm ISE oldukça verimli çalışma ortamı sunmaktadır . (Resim-5) .PowerShell ISE Erişim için ; C:\Windows\System32\WindowsPowerShell\V1\PowerShellISE.exe den erişebilirsiniz . 
  

Resim-5

NOT: "get" komutları sadece veri çekebilen, "set" komutları veri işleyebilen komutlardır.

Powershel(Cmdlet)Powershell(alias) cmd.exeLinuxGörevi
 Set-Location cd,chdir cd,chdircd Dizin Değiştirir.
 Clear-Host cls, clear cls clear Ekranı Temizler.
 Copy-Item cpi, copy, cp copy, cp cp Dosya ve Dizin Kopyalar.
 Get-Help help, man help man  Yardım Görüntüler.
 Remove-Item
 ri, del, rmdir,
 rd, rm
 del, rmdir,
 rd
rm, rmdir Dosya ve Dizin Siler .
 Rename-Item rni, ren renmv
 Dosya ve Dizin Taşır,
 Adını Değiştirir.
 Get-Childitem gci, dir, ls dirls Dizin İçeriğini Görüntüler.
 Write-Output echo, write echoecho 
 Bir Yazıyı ya da Değişkenin
 Değerini Yazıdırır .
 Set-Variable sv, set setset Değişkene Değer Atar.
 Get-Content gc, type, cat typecat  Dosyaların İçeriğini  Görüntüler.


Alias (Takma Ad)
Powershell’ de kullanılan bazı komutları için farklı aliaslar (takma adlar) tanımlanmıştır. Örneğin silme işlemi için kullanılan "remove-item" komutunu kullanmak yerine "ri" komutunu kullanılabilir. Bunun gibi birçok takma ad tanımlanmıştır, sistemdeki tanımlı takma adların listesini görmek için yine "get-alias" komutu kullanılabilir.(Resim-6)


(Resim-6)




Daha sonraki yazımda Pipeline ve Scripting yapmaya başlıcaz . 


http://bidb.itu.edu.tr/seyirdefteri/blog/2013/09/07/powershell-ve-avantajlar%C4%B1
http://tr.wikipedia.org/wiki/Windows_PowerShell






Hiç yorum yok:

Yorum Gönder