MODUL 1
Windows PowerShell Nedir?
Windows powershell etkileşimli bir komut kabuğudur.windows powershell windows xp sürümlerinde ve windows server 2003 sürümlerinde indirilip kullanılabilen bir araç iken windows server 2008 için opsiyonel (isteğe bağlı ) olarak kurulabilen bir özellik haline gelmiştir.
Windows powershell windows sistemlerini yönetmek için kullanılabilen araçlardandır ve yönetici arayüzü olarak hizmet vermektedir.
Bu ilk modülde nesneler,değişkenler,cmldlets(Command Let) neler olduğunu ve bunları nasıl kullanacağımızı anlamaya çalışalım.
Windows server sürümlerinde de şimdiye kadar grafiksel olarak çalıştık.Unix ve Linux sistemlerinde gördüğümüz komut satırı windows powershell olarak windows kullanıcılarının karşısına çıkmış oldu.
Windows PowerShell basit bir komut satırı gibi görünsede sanıldığı kadar basitleştirilmiş bir komut satırı olmadığını birlikte de göreceğiz biliyoruz ki microsoft Net.Framework ile bizlere bir kütüphane sunmaktadır.bu kütüphane net yazılımlarında oldukça işleri kolaylaştırmıştır ve aynı zamanda kullanılacak nesneler vs. zenginleştirilmiştir.işte bu noktada powershell de bu kütüphaneden faydalanmaktadır ve bir derleyici gibi çalışmaktadır.
Windows Powershell .NET,COM ve WMI (Windows Management Instrumentation) objeleri ile birlikte kullanılabilmeside ciddi bir avantaj olarak ortaya çıkmaktadır.Bütün söylediklerimize ek olarak kayıt defteri ve sayısal sertifika depoları gibi diğer veri kaynaklarına erişimde son derece basitleştirilmiştir.
WINDOWS POWERSHELL
En az .Net.FrameWork 2.0 gerektirir.
Windows Server 2008 R2 (Kullanılabilmektedir)
Windows Server 2008 (Opsiyonel Olarak Kullanılabilir)
Windows Server 2003 (İndirilip Kurulabilir)
Windows Xp Sürümlerinde (İndirilip Kurulabilir)
Önemli Not: Windows Server Core Sürümleri şimdilik net framework yapısını kullanamadığından PowerShell Desteklememektedir.En üzücü durumuda bu zaten.Fakat bununla Birlikte az önce saydığımız ve kullanılabilir Windows Sürümlerinde bulunan PowerShell ile Server 2008 Core Sürümlerini yönetilebilmektedir.
Kısaca Windows PowerShell özelliklerini anlatacak olsak
· Yorumlayıcı ( Derleyici) Bir Programlama dilidir.
· Windows PowerShell en az Net.Framework 2.0 ile birlikte çalışır.
Not: Aslında burada şunu belirtmek istiyorum framework ün ne kadar güncel versiyonunu kullanır isek powershell komut satırımızda kullanacağımız nesneler,cmdletslerde o kadar genişleyip zenginleşecek demektir.
Windows PowerShell 2.0 ile birlikte
*Powershell 1.0 ile uyumludur.
*Windows PowerShell Remoting
*Background işlemleri
*Scriptlerden Hataların Ayıklanması
*iyileştirilmiş ve yeni eklenmiş CmdLets ler dahil olmuştur.
*Get-Member iyileştirilmiştir.
*Active-Directory hizmet arabirimi geliştirilmiştir.
*WMI (Windows Management Instrumentation)
Not: WMI Nedir?
Windows İşletim sistemlerinde bulunan her bir nesnesinin kontrol edilebilmesini sağlayan bir teknolojidir.
WINDOWS POWERSHELL YÜKLENMESİ
MODULE 2
Object Nedir?
Poweshell in nesne tabanlı olduğunu söylemiştik ve powershell in bir derleyici gibi çalıştığından da dile getirmiştik.
Türkçede nesnenin anlamı nedir. Elle tutulabilen olmasının yanında rengi,ağırlığı olan yani özellikleri olan maddeler olduğunu biliyoruz. Bilgisayar dilinde de buna benzerdir.
Ve powershell nesnelerininde özellikleri ve çeşitleri olmaktadır.bu özellikleri sayesinde nesneleri tamamlayıp istediğimiz sonuçları alabilmekteyiz.
Properties MEMBER Method
Şeklinde şekil olarak algılayabiliriz.
Ve bu method ve properties ler Nesnenin tamamlayıcı sı olarak kullanırken member olarak adlandırırız.
Daha somut bir örnek verecek olursak
ARABA
Özellikleri Method
Model Çalıştırılması (Start)
rengi Gitmesi Durması (Stop)
ve yukarıdaki özellikleri ve methodları taşıması için bazı gereksinimleri vardır. Yani ne demek bu arabanın olması içinde bazı gereksinimleri olmalı yani araba olması için tekerleri,kapısı,pencereleri olmalıdır işte özellikler ve methodlar da bunların memberidir.
Şimdi bizim konumuzla ilgili olarak örnekler verelim daha net anlayacaksınız.
PROCESS
Özellikleri (Properties) METHOD
Machine Name Close
Modules Kill
Process Name Refresh
Windows Title Start
ID Equels
PID
Gibi ve bu bütün properties ve methodlar Process in MEMBER larıdır.
Aynı şekilde başka bir örnek verelim.
SERVICE
Properties Method
Name Start
Display Name Stop
Status Pause
Logon Account Resume
Startup Mode
Gibi
Peki bu memberlari ezberleyecemmi yada sadece bu kadarmı diye sorabilirsin tabiiki hayır çok geniş bir kütüphaneye sahiptir.
Bu üyeleri Get-MEMBER komutu ile öğrenebilirim.
Mesela
Get-Command | Get-Member
Get-Member gm olarakda kullanabiliriz.
CMDLETS (COMMAND LETS)
Bir CMDLETS windows powershell objeleri işleyen tek özellikli bir komuttur.ve powershellin komut dizilimidir..Net programlama dilleri olan C# ve VB gibi dillerin matığı kullanılmıştır.
Büyük küçük harf duyarlılığı yoktur ama yinede uymaya özen göstermekte fayda vardır.
Örnekleyecek olursak
Get-Process -Name SVCHOST
CmdLets Parametre Adı Parametre Değeri
Şeklindedir.
Bizim burada aslında kullanacağımız yada asıl bilmemiz gereken 5 adet komut mevcuttur.
Get
Add
New
Remove
Set
Get verileri çekmek için yani okumak için kullanılır.
Set ise veri girmek için kullanılır.
Örneğin
Get-date o anki zamanı verirken
Set-date zaman değerini bizden istemektedir.
Peki bu komutların cmdlets lerini nasıl görürüm
Get-Command -Verb Get
Get-Command -Verb Set
Get-Command -Verb Add
Gibi kullanılabilmektedir.
Örnek CMDLETS Örnekleri
Noun Get New Set
Date Get-Date Set-Date
ExecutePolicy Get-ExecutePolicy Set-ExP
Item Get-Item New-Item Set-Item
Şeklindedir.
Birazda Değerlere ve bu değerlerini Memberlarına bakalım.
“NetworkAcademy” | Get-Member
Üyerlerini listeledikten sonra
TypeName: System.String Geri Dönderdiği Değer tipi String
String ifadelerin üyelerini gördükten sonra ona göre hangi değerleri döndereceğini görebiliriz.
Örnek Verecek Olursak
“NetworkAcademy”.ToUpper()" Sonuç olarak bana döndüreceği değer Büyük Harf olarak döndürecektir.
ToLower() Küçük harfe dönüştürerek değer dönderecektir.
“NetworkAcademy”.Split(‘e’)" Komutunu Kullandığımda da "e" harflerini kaldırarak geriye veri döndürecektir.