Menü

Windows PowerShell nedir ? Nasıl Kullanılır ?

17 Mart 2015 - Power Shell, Server Platforms, Windows Server
Windows PowerShell nedir ?  Nasıl Kullanılır ?

Windows PowerShell, Net framework altyapısında, Windows işletim üzerinde local olarak yada diğer bir işletim sistemine uzaktan konfigürasyonlar gerçekleştirmek için gerekli olan CIM(Common Information Model) ve WMI(Windows Management Instrumentation) denetimlerini tam yetki ile kullanılmasını sağlar. Böylece cmd.exe yerine çok daha etkili ve fonksiyonel kullanıma sahip bir yazılım veya scripting altyapına sahip olunur. En önemli özelliği uygulamaların içine gömülü bir host API(Application Programming Interface) mantığıyla, Uygulamalarda görsel yani GUI(Graphic User Interface) ile yapabildiğiniz işlevleri daha az kaynak tüketerek, Komut satırı üzerinden yapmanızı sağlar. Ayrıca programlama dili mantığı ile script’ler yazarak toplu komut işlemlerini yapabilir. Böylece daha kısa zamanda işlemlerini halletmenize olanak vermektedir.

PowerShell sadece komut satırı özelliğinden çok daha ötesine sahiptir. Sahip olduğu debug özelliği ile programlama dili özelliğine de sahiptir. Böylece biraz yazılım bilgisine sahip system tasarımcıları ve yöneticilerinin en az eforla toplu işlemleri kısa sürede yerine getirmesini sağlar.

Bu işlemleri yapabilen powershell .Net yapısı bağlantısı ile direk dosya sistemine müdahale edebilir, Matematiksel işlevleride yapabilmektedir. Cmd.exe’nin halefi olması sebebiyle, Command Promt’daki tüm komutlar powershell üzerinde de koşturulabilmektedir.

Önemli bir diğer özelliği ise bu kodları veya komutları yazarken size yardımcı olmasıdır. Daha önce Active Directory tools’larından ntdsutil komutunu gibi kendinden sonra olası gelebilecek komut dizisini tab tuşuna basmanız halinde size seçenek olarak sunması, Uzun komut satırlarını yazarken önemli sayılabilcek hız kazandırmaktadır.

Windows PowerShell, Daha etkin kullanılabilecek bir komut satırı ihtiyaçı nedeniyle cmd.exe’ye geliştirmek yerine, 2006 yılında ilk kez Windows Vista işletim sistemi ile fikri ortaya atılmıştır. Resmi çıkışı esasında 2007 yılında, Exchage 2007 ürünü ile olmuştur. İlk verisyonu powershell 1.0 olarak adlandırılmıştır. O zamanlar Windows Xp, Server 2003 ve Vista işletim sistemlerinde kullanılması için ek olarak indirme seçeneği ile kullanılmaktaydı.

PowerShell 2.0 versiyonu ise daha sonraki işletim sistemleri olan Windows 7 ve Server 2008 işletim sistemine entegre halde gelmektedir. Önceki versiyona göre 240’a yakın yeni komut , Ayrıca yeni script dili ve API(Application Programing Interface)’leri içerir.

PoweShell 3.0 versiyonuda, Windows 7 Service Pack 1, Server 2008 Service Pack 1, Server 2008 R2 Service Pack 1, Windows 8 ve Windows Server 2012  ile karşımıza çıkmıştır. En önemli yeniliği ise Windows Remote Management yani WinRM desteğinin bulunması ile uzak ara birimlerde komutların koşturulmasının etkinliği artırılmıştır. Yine Schedule Job yeniliği ile zamanlanmış görevlerini yerine getirebilmektedir. Session Connectivty ile uzaktan bağlantılarda daha iyileştirilmiş yapıya sahiptir.

PowerShell 4.0 ‘ın çıkışı ise Windows Server 2012 R2 versiyonu birlikte olacaktır.

powershell1

 

 

 

 

 

 

 

Buraya kadar powershell’in ne işe yaradığından ve gelişiminden bahsettik. Bundan sonraki kısımda daha çok powershell’in kullanımına ait örnekler vererek kullanımını pratiğe dökmeniz için bol bol örneklendirmeye çalışacağım.

powershell2

 

 

 

 

 

 

 

 

 

 

 

 

Örnek 2: “ Get-Command –Noun Service” komutu ile service komutunu hangi işlevler ile kullanabileceğinizi listelemektedir.

powershell3

 

 

 

 

 

 

 

Örnek 3: “Get-Process” komutu ile işlemlerin ne kadar yük bindirdiğini listeleyebilirsiniz.

powershell4

 

 

 

 

 

 

 

 

 

 

 

 

 

Örnek 4: “Get-Help ” komutu ile kullanmasını bilmediğiniz komutların nasıl kullanılacağını size listeler. Örneğin “Process” için get-help komutunu koşturduğumda bana process’in kullanımını gösterir. Diğer bilmediğiniz tüm komutlar için geçerlidir.

powershell5

 

 

 

 

 

Örnek 5: Yine “Get-Help -Full” komutu ile daha detaylı nasıl komut opsiyonlarını kullanmanızı listeler. Kullanımı ise örneğin “Get-Help –Full Start Service” dediğimiz start service komutunun tüm opsiyonları ve bunların nasıl kullanıldığını listelemektedir.

powershell6

 

 

 

 

 

 

 

 

 

 

 

 

Örnek 6: Yine Get-Help komutu yardımı ile normalde server manager üzerinden yüklediğimiz roller ve bunlara ait özellikleri, Powershell üzerinden yükleyebilmek için gerekli komut ve opsiyonlarını listelenmektedir.

powershell7

 

 

 

 

 

 

 

Örnek 7: “Get-WindowsFeature” komutu ile bilgisayarınızda yüklü olan roller ve servislerini listelemektedir. Bu komuta göre aşağıdaki örneğe bakarak rol yükleme işlemini gerçekleştirebilirsiniz.

powershell8

 

 

 

 

 

 

 

 

 

 

Örnek 8: “Install-WindowsFeature –Name Dns –ComputerName LON-DC1” komutu ile yukardaki örnekte verdiğim roller listelen komuttan sonra istediğimiz bir servisi powershell üzerinden yüklememiz sağlar. Komutun sonuna –restart opsiyonunu eklediğinizde yükleme işlemi tamamlandıktan sonra yeniden başlatacaktır. Dns servisi benim bilgisyarımda zaten yüklü olduğu için yüklemedi.

powershell9

 

 

 

 

 

Aşağıdaki komutlarıda powershell üzerinde bazı işlevleri yapabilmeniz için örnek olarak veriyorum.

Tüm komutları listelemek için ; “Get-Command” komutunu kullanabilirsiniz.

Bir sürücüye geçmek için ; “Set-Location C:\ ” komutunu kullanabilirsiniz.

 

 

PowerShell Uygulamaları-Bölüm 2 ;

Bu örnekleri fazlasıyla çoğaltabiliriz ancak tüm powershell kullanılan komutlarının örnekleri taker taker vermemiz mümkün olmaycaktır. Zaten powershel ekranı hergün kullanacağınız bir konsoldan ziyade gerektiğinde sizin hayatını kolaylatırıcak bir üründür.

Buraya kadar basit olarak powershell üzerinde komutların nasıl çalıştığını gördük. Bu aşamadan sonra powershell’in birçok programlama dili gibi debug işlemi yapabildiğini ve bunları yaparken daha detaylı scripts’ler içinde sayısal işlemleri barındıran birkaç örnek vermeye çalışacağım.

 

Örnek 9 : “Get-Process s * ” Komutu ile bilgisayarımızdaki s ile başlayan işlemleri listeler.

powershell10

 

 

 

 

 

 

 

Eğer biz bu S ile başlayan process’leri durdurmak istersek, PowerShell üzerinde birden fazla komutu aynı anda kullanabiliyoruz. Bu işlemi yaparken komutlar arasına pipe(boru) işareti dediğimiz karakterle yapıyoruz. Bu karakteri türkçe Q klavyede (AltGr+ Büyük-Küçük) kombinsyonu ile yapabilirsiniz.

Aşağıda bilgisayarda çalışan s ile başlayan process’leri durduracak komutu veriyorum.

“Get-Process s* | Stop-Process”

powershell11

 

 

 

 

Yada  “Get-Process s* | Sort-Object id” komutunu koşturduğumuzda S ile başlayan process’leri id’lerine göre küçükten-büyüğe sıralayacaktır.

powershell12

 

 

 

 

 

Örnek 10 : Yine aşağıda 3MB’dan fazla bellek harcayan process’leri listeleyen komutu veriyorum.

“ Get-Process | where { $_.WS –gt  3MB} ”

powershell13

 

 

 

 

 

 

 

 

 

 

 

Eğer siz bu process’leri sonlandırmak istiyorsanız komutun sonuna bir pipe karakteri koyup akabinde stop process dediğinizde bu işlemleri durdurmuş olacaksınız.

“ Get-Process | where { $_.WS –gt  3MB} | Stop-Process”

 

PowerShell esasında bir programlama dilinin yapabilceği birçok işlevi yerine getirmektedir. Buna çok basit örnek verecek olursa, Bir değişken oluşturup ekrana çıktı vermesini sağlayabiliriz.

Örnek 11 : “$SayilariListele=1..5”

“SayilariListele”

Komutlarını verdiğimizde 1’den 5’e kadar ekrana sayıları listeleyecektir. Tabiki bu şu an için bir işe yaramayacak ama karmaşık işlemlerde bir programlama dilinin işlevlerini yerine getirdiğini görmek adına bir örnek olacak.

powershell14

 

 

 

 

 

Örnek 12: Aşağıdaki örnekte, PowerShell üzerinden bir klasör oluşturma ve içine herhangi formatta bir dosya oluşturma işlemi yapacağız.

“ New-Item –Name Klasor –Path C: -Type Directory | New-Item –Name Yillikrapor.txt –Path C:\Klasor –Type File”

powershell15

 

 

 

 

 

 

 

 

 

Windows Powershell üzerinde daha birçok uygulama ile örnek yapmamız mümkün ancak Windows PowerShell’e ihtiyaç olunduğunda, Konu ile ilgili komutları technet blog’u üzerinden bulabilir ve uygulamasını yapabileceksiniz.
Hakkı İNKAYA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Please follow and like us:
facebooktwittergoogle_pluslinkedinrssby feather
pinterestlinkedinmailby feather
Etiketler:

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir