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)
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.exe | Linux | Görevi |
| Set-Location | cd,chdir | cd,chdir | cd | 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 | ren | mv |
Dosya ve Dizin Taşır,
Adını Değiştirir.
|
| Get-Childitem | gci, dir, ls | dir | ls | Dizin İçeriğini Görüntüler. |
| Write-Output | echo, write | echo | echo |
Bir Yazıyı ya da Değişkenin
Değerini Yazıdırır . |
| Set-Variable | sv, set | set | set | Değişkene Değer Atar. |
| Get-Content | gc, type, cat | type | cat | 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