31 Mart 2013 Pazar

Windows PowerShell Programlama Dili 2



    Merhaba arkadaşlar, bir önceki yazımda Windows PowerShell programlama dilinden bahsetmiştim. Bugün aynı konu başlığı altında yazıma devam edeceğim. Bugün sizlere operatörler, koşullu ifadeler, döngüler ve fonksiyonlar  konularını anlatacağım. Bu konuların, programlama dili öğrenirken üzerinde titizlikle durulması gereken konular olduğunu düşünüyorum. Bu yüzden bu konuları tam olarak kavrayabilmeniz size ilerde kolaylık sağlayacaktır. Küçük tavsiyemizden sonra artık başlayabiliriz.


Operatörler


    İlk olarak karşılaştırma operatörleriyle başlayabiliriz. Karşılaştırma operatörleri iki değeri birbirleriyle  karşılaştırmada kullandığımız operatörlerdir. Genellikle koşullu ifadelerde kullanılırlar. Aşağıdaki tabloda bütün karşılaştırma operatörleri yer almaktadır. Operatörlerin PowerShell programlama dilinde kullanımı, değeri, örnek ve çıktısı yer almaktadır.


Operatör
Değeri
Açıklama
Örnek
Sonuç

-eq, -ceq, -ieq

-ne, -cne, -ine

-gt, -ogt, -igt

-ge, -oge, -ige

-lt, -clt, -ilt

-le, -cle, -ile

-contains
-coontains
-icontains

-notcontains
-notcoontains
-inotcontains

=

<> 

> 

>=

< 

<=

Eşittir

Eşit değil

Büyük

Büyük eşit

Küçük

Küçük eşit


“Contains”



“Not Contains”

2 -eq 5

1 -ne 2

1 -gt 2

2 -ge 1.9

1 -lt 2

2 -le 1.9


1,2,3 -contains 1



1,2 -notcontains1

$false

$true

$false

$true

$true

$false


$true



$false

    Diğer bir operatör çeşidi de mantıksal operatörlerdir. Aynı şekilde bu operatörler de genellikle koşullu ifadelerde kullanılırlar. Koşullu ifadeleri anlatırken örneklerle göstereceğim. Mantıksal operatörleri de yukarıdaki gibi tablo halinde göstermek istiyorum.


Operatör
Açıklama
İlk değer
İkinci değer
Sonuç


-and



-or



-xor



-not


Mantıksal VE



Mantıksal VEYA



aynı ise “yanlış”
farklı ise “doğru”


Değil

True
False
False

True
False
False

True
False
True


-

True
True
False

True
True
False

True
True
False


False
True

True
False
False

True
True
False

False
True
True


True
False


Koşullu İfadeler


    Koşullu ifadelerden olan "if" ile bir ifadeyi kontrol eder ve döndürdüğü sonuç doğru ise buna göre işlemler yaparız. Eğer sonuç yanlış ise "else" bloğuna atlar. Bu blokta da yanlış sonuca göre işlemleri yaparız. "Else if" bloğunda ise "else" bloğuna gelene kadar bir takım koşullu işlemleri yaparız.

Örnek 1:
$a = 10 

if ($a -gt 10) 
{
  "$a değeri 10'dan büyüktür"
} 
elseif ($a -eq 10) 
{
  "$a değeri tam olarak 10"
} 
else 
{
  "$a değeri 10'dan küçüktür"
}


Çıktı:
10 değeri tam olarak 10


Örnek 2:

# 1. Örnek
Write-Host " 1. Örnek"
if ((1 -eq 2) -and (1 -eq 1) -or (1 -eq 1)) {
    Write-Host " sonuc doğru if bloğu çalıştı "
} else {
    Write-Host " sonuc yanlış else bloğu çalıştı"
}

#2. Örnek
Write-Host " 2. Örnek"
if ((1 -eq 2) -and ((1 -eq 1) -or (1 -eq 1))) {
    Write-Host " sonuc doğru if bloğu çalıştı "
} 
else {
    Write-Host " sonuc yanlış else bloğu çalıştı "
}


Çıktı:
 1. Örnek
 sonuc doğru if bloğu çalıştı 
 2. Örnek
 sonuc yanlış else bloğu çalıştı 


    Diğer bir koşullu ifademiz "switch/case" 'dir. "Switch/case" yapısı "if/else" yapısına benzer bir yapıdır. "If/else" yapısından farklı olarak, "switch" içindeki değeri "case" değerleriyle karşılaştırırız. Doğru sonucu bulduğumuzda "break" komutuyla çıkarız. "Break" kullanmazsak bütün "case" koşulları kontrol edilir. Aşağıdaki örneği inceleyebilirsiniz.


$a = Read-Host "Lütfen 1. Sayıyı giriniz"
$b = Read-Host "Lütfen 2. Sayıyı giriniz"
$ans = Read-Host "Lütfen Yapılacak aritmetik işlemi seçiniz
1)Toplama
2)Çıkarma
3)Çarpma
4)Bölme "

switch ($ans) {
    1 {
        $result = [int] $a + [int] $b
        Write-Host $sum
            break 
    }
    2 { 
        $result = [int] $a - [int] $b
        Write-Host $result  
            break 
    }   
    3 { 
        $result = [int] $a * [int] $b
        Write-Host $result
               break 
    }
    4 { 
        $result = [int] $a / [int] $b
        Write-Host $result
            break  
    }  
}


Döngüler


    Döngüler, bir işi belirlediğimiz aralıklarda yapan kod bloklarıdır. İlk olarak "while" döngüsüyle başlayalım. "While" döngüsünde koşul olarak döngünün nerede biteceğini veya hangi koşulda biteceğini belirleriz. Windows PowerShell'deki kullanımını aşağıdaki örnekleri inceleyerek görebilirsiniz.


#1 den 10 a kadar sayıları ekrana yazdıran dongu
$a = 1
while($a -le 10){
    Write-Host $a
    $a++
}


Çıktı:
Output:
1
2
3
4
5
6
7
8
9
10


    Bir diğer döngü çeşidimiz ise "for" döngüsüdür. Bu döngü de "while" döngüsü gibidir, fakat söz dizimi (syntax) farklıdır. Döngüyü tanımlarken de koşulumuzu belirleyebiliriz, blok içerisinde de koşulumuzu belirleyebiliriz. Aşağıdaki örnek, bulunduğumuz klasörü tarayarak, klasör içindeki nesnelerin dosya mı klasör mü olduğunu ekrana yazdıran bir döngüdür.



#PS C:\Users\Vahit\Courses> 
$file = Get-ChildItem
for ($i = 0; $i -lt $file.Count; $i++) {
    if (!( Get-Item $file[$i ]).PSIsContainer ) {
        Write-Host $file[$i ].Name "is a file "
    } else {
        Write-Host $file[$i ].Name "is a directory "
    }
}


Çıktı:
Computer Engineering Design is a directory 
Computer Research is a directory 
Documents is a directory 
E-books is a directory 
Example Codes is a directory 
IdeaProjects is a directory 
Information Retrieval is a directory 
Java is a directory 
Web Server is a directory 
almanya2013.zip is a file 
Chip Mart [2013]-LTRG.pdf is a file 
CJ_05_Design.pdf is a file  
javamagazine20130102.pdf is a file 
PcNet Mart [2013]-LTRG.pdf is a file 
thesis.pdf is a file 
Working_with_Image_Files.pdf is a file 


    "Foreach" içinde bulunan dizi ya da nesnenin tüm elamanlarını tarar. Diğer döngülere göre daha sade bir söz dizimi vardır. Aşağıdaki örneği inceleyebilirsiniz.


#1 den 10 a kadar sayılar bir dizi tanımladık
#Dizinin içinde $key ile dolaşarak tüm elemanları ekrana yazdırıyoruz 

$dizi= 1..10
Write-Host "Output:"
foreach ( $key in $dizi ) {
    Write-Host $key
}


Çıktı:
Output:
1
2
3
4
5
6
7
8
9
10


Fonksiyonlar


    Fonksiyonların programlama dillerinde önemi büyüktür. Bir kod bloğunu tekrar kullanmak istiyorsak, o bloğu tekrar yazmak yerine fonksiyon içinde yazabiliriz. Böylece istediğimiz yerde fonksiyonu çağırarak o bloğu kullanabiliriz. Aşağıdaki örnekleri inceleyerek Windows PowerShell'de fonksiyon kullanımını görebilirsiniz.

    İşletim sistemindeki yazılımları, versiyonlarını ve yazılımların kaldırma bilgilerini "Out-GridView" komutu yardımıyla tablo halinde gösteren fonksiyonu ve çıktısını aşağıdaki örnekte görebilirsiniz.


function Get-InstalledSoftware {
  $path = 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
  Get-ItemProperty -path $path |
    Where-Object { $_.DisplayName -ne $null } |
    Select-Object DisplayName, DisplayVersion, UninstallString |
    Sort-Object DisplayName
}

Get-InstalledSoftware




    Aşağıdaki örnekte, iki tane parametre alan ve aldığı parametrelerle bir takım işlemler yapan fonksiyonu inceleyebilirsiniz. Fonksiyonu çalıştırma esnasında önce fonksiyonu ardından birer boşluk bırakarak parametreleri yazıp çalıştırıyoruz.



#aldığı sayılarla 4 işlem yapan fonksiyon
Write-Host "Output:"
function aritmatic_operations($a, $b) {
   Write-Host "$a plus $b is equal to" ($a + $b) 
   Write-Host "$a minus $b is equal to" ($a - $b)
   Write-Host "$a mult $b is equal to" ($a * $b)
   Write-Host "$a divide $b is equal to" ($a / $b)
}
aritmatic_operations 20 4


Çıktı:
Output:
20 plus 4 is equal to 24
20 minus 4 is equal to 16
20 mult 4 is equal to 80
20 divide 4 is equal to 5


    Bu hafta anlatacaklarım bu kadar. Haftaya görüşürüz.


Referanslar:

Kitap: "Master-PowerShell with Dr. Tobias Weltner"
Kitap: "PowerShell tutorial, Eric Hjelmas"

24 Mart 2013 Pazar

Windows PowerShell Programlama Dili



    Merhaba arkadaşlar, geçen hafta sizlere Windows PowerShell komutlarından bahsetmiştim. Bugün sizlere Windows PowerShell programlama dilini anlatacağım. İlk olarak sizlere Windows PowerShell ISE'yi tanıtmak istiyorum. Windows PowerShell ISE (Integrated Script Environment) komutları yazabileceğimiz, yazdığımız komutları çalıştırabileceğimiz, test edebileceğimiz ve "Debug" yapabileceğimiz bir ara yüzdür.  Windows PowerShell ISE'ye aşağıdaki yolu izleyerek ulaşabilirsiniz.

    Başlat > Tüm Programlar > Donatılar > Windows PowerShell > Windows PowerShell ISE

    Alternatif olarak Başlat menüsündeki arama çubuğuna "PowerShell ISE" yazarak da ulaşabilirsiniz.

Windows PowerShell ISE


Değişken Tanımlama ve Değer Atama


    İlk olarak değişken tanımlamayı ve bu değişkene değer atamayı göstermek istiyorum. Değişken tanımlamak çok basittir. Tek yapmamız gereken belirlediğimiz bir değişken isminin önüne "$" işaretini koyuyoruz ve "=" operatörünü kullanarak bu değişkene değer atıyoruz. Kod parçacıklarını çalıştırmak için çalıştıracağımız kodu seçip sağ tıklayıp "Run Selection" 'a tıklıyoruz.

# first.ps1
$name = "Vahit"
$lastname = "Türkoğlu"
$fullname = "$name $lastname"
$age = 24
Write-Host " I'm $fullname and I'm $age years old."


Değişken tanımlama ve değer atama


    Değişken tanımlama ve değer atama, komut yazma kısmında da bize kolaylık sağlamaktadır. Örneğin Windows PowerShell'de yazdığımız herhangi bir komutu bir değişkene atayabiliriz.

# Komutları tutan geçici bir değişken:
$cDiziniGoster = Get-ChildItem C:\
$cDiziniGoster



    Tanımladığımız değişkenleri "Dir variable: ?" komutuyla görebiliriz.

# Değişkenleri gösterme
$deger1 = 1
$deger2 = 2
$deger3 = 3
$deger4 = 4
$deger5 = 5
Dir variable:deger*


    Silmek istediğimiz bir değişkeni "del variable:\deger1" komutunu kullanarak silebiliriz.

# Değişken sil
del variable:\deger1
# değişkenleri göster
Dir variable:deger*


Dizi Tanımlama


    Windows PowerShell'de dizi tanımlamanın iki farklı yolu vardır. Aşağıda iki farklı yolu tek örnekte görebilirsiniz. İkisi de aynı görevi yapmaktadır. Hangisi kolayınıza gelirse onu kullanabilirsiniz.


# Array tanımlama 1.yol
$a = "Linux","Mac","Windows",1,2,3
Write-Host $a[2]         #Windows
$a += 4
Write-Host $a         # son hali
Write-Host $a.Count  #array uzunlugu


# Array tanımlama 2. yol
$os =@(" linux ", " windows ")
Write-Host $os
$os +=@(" mac ")
Write-Host $os[1]     # windows
Write-Host $os        # tüm değerler
Write-Host $os.Count  # array uzunluğu


    Sıralı bir diziyi tek bir satırda oluşturabiliriz.

# 1'den 15'e kadar olan sayıları tutan dizi
$dizi = 1..15
Write-Host $dizi


    Dizimiz sadece tam sayıları tutsun istiyorsanız, dizi tanımlamasını aşağıdaki gibi yapabilirsiniz.

# sadece tamsayıları tutan dizi
[int[]]$dizi= 1,2,3,4,5


"Hash Table" Tanımlama


    Bildiğimiz üzere "hash table" da tutulan değişkenlerin ismi ve ona ait bir değeri bulunmaktadır. Windows PowerShell'de "hash table" tanımlarken, dizi tanımlamada kullandığımız "@()" yerine "@{}" simgeleri kullanılır. Aşağıdaki örneği inceleyebilirsiniz.





# Hast Table tanımlama
$list = @{Name = "PC01"; IP="10.10.10.10"; User="Vahit Türkoğlu"}
$list

# IP'nin değerini ekrana yazdırır.
$list["IP"]

# Sırasıyla Name ve IP' nin değerlerini yazdırır.
$list["Name", "IP"]

# IP' nin değerrini yazdırır.
$list.IP


# IP' nin değerrini yazdırır.
$key = "IP"
$list.$key

# Hash table daki tüm elemanları yazdırır
$list.keys

# Hash table daki tüm elemanların değerlerini sırasıyla yazdırır.
$list[$list.keys]



    Windows PowerShell programlama dili .NET "framework" u tarafından desteklendiğinden nesne tabanlı programlama alt yapısına sahip bir dildir. Aşağıdaki örnekte bir nesne oluşturup o nesneyle bir takım işler yapan kod parçacığı yer almaktadır.


# Nesne oluşturma
# myhost nesnesi oluşturuldu ve bazı özellikler verildi
$myhost = New-Object PSObject -Property @{
          os="";
          sw=@(" ");
          user=@{}
        }
        
#os a linux degerı atandı       
$myhost.os=" linux "

#sw ye aşağıdaki değerler atandı  
$myhost.sw +=@(" gcc "," flex "," vim ")

#user a aşağıdaki degerler atandı
$myhost.user += @{" frodeh "=" Frode Haug "; " monicas "=" Monica Strand " }

# aşağıda myhostu kullanarak diğer değişkenlere ulaşabiliyouruz
Write-Host $myhost.os
Write-Host $myhost.sw[2]
Write-Host $myhost.user[" monicas "]




Giriş - Çıkış İşlemleri


    Her programlama dilinde sıkça kullandığımız giriş-çıkış (input-output) işlemlerini aşağıdaki örnekle sizlere açıklayabilirim. "Read-Host" komutu klavyeden bir değer girmemizi sağlayan bir komuttur. "Write-Host" komutu ise bir değişkene ait değeri ekrana yazdıran komuttur.


#klavyeden bir değer giriniz
$deger1 = Read-Host "Adınız"

#girdiğiniz değeri ekrana yazdırır
Write-Host "Ad: " $deger1

$deger2 = Read-Host " Soy Adınız"
Write-Host "Soy Ad: " $deger2

$deger3 = Read-Host "Yaşınız"
Write-Host "Yaş: " $deger3

$deger4 = Read-Host "Bölümünüz"
Write-Host "Bölüm: " $deger4

$deger5 = Read-Host "Okulunuz"
Write-Host "Okul: " $deger5




    Bu haftalık anlatacaklarım bu kadar. Haftaya Windows PowerShell Programlama diline devam edeceğim. Hoşçakalın.


Referanslar:
Kitap: "Master-PowerShell with Dr. Tobias Weltner"
Kitap: "PowerShell tutorial, Eric Hjelmas"

17 Mart 2013 Pazar

Windows PowerShell Komutları ve Talimatları



    Merhaba arkadaşlar, geçen hafta sizlere Windows PowerShell ve özelliklerinden bahsetmiştim. Bugünkü yazım Windows PowerShell komutları ve talimatları hakkında olacak. "Command-let" (Cmdlet) Windows PowerShell'in komut dizimidir. Özel komutlardan oluşur. Yönetimsel işlevler Windows PowerShell üzerinde barınan fiil-isim yapısıyla çalışmaktadır. Get, Set, Format gibi komutlar diğer komutlar ile fiil-isim kombinasyonunda tekil olarak çalışırlar. Komut setlerinde dönen isimler mutlaka tekil olmalıdır. Komut setleri Windows PoweShell'e özgü bir yapıdır. İlk olarak "Get-Help" komutuyla başlayabiliriz. İsminden de anlaşıldığı gibi "Get-Help" komutu Windows PowerShell'in diğer komutlarının yazımını ve ne iş yaptıklarını gösteren bir komuttur.

    "Get-Help" komutunun kullanımını aşağıda birkaç örnekle açıklayalım.
  • get-help *                 : Tüm yardım konularını görüntüler.
  • get-help get-*           : "get-" ile başlayan tüm komutları görüntüler.
  • get-help *hede*        : İçinde "hede" geçen komutları görüntüler.
  • get-help get-process : "get-process" komutunu ve özelliklerini görüntüler.
  • set-service -?           : "set-service" komutunu ve özelliklerini gösterir.
"Get-Help"

"Get-Help get-*"


    Yapacağımız bu işlemlerin sonuçlarını tablo halinde de görüntüleyebiliriz. Bunun için yapmamız gereken tek şey, yazdığımız komuta parametre olarak "Out-Gridview" komutunu eklemek.

Get-Help get-* | Out-Gridview


Bazı Önemli Windows PowerShell Komutları



    Get-Process: Bilgisayarınızda o andaki çalışan işlemleri görüntüler. Ayrıca görüntüleyeceğiniz işlemleri herhangi bir parametreye görüntüleyebilir ve o parametreye göre sıralayabilirsiniz.
  • Get-Process -Name chrome : İşlem ismi (ProcessName) "chrome" olan işlemleri görüntüler.
  • Get-Process | sort Id             : İşlemleri numaralarına (Id) göre sıralar.
Get-Process -Name chrome | sort Id



    Get-Command: Windows PowerShell yapısındaki komutları listeler. Bu komutla birlikte kullanmak istediğimiz diğer komutların yazımı hakkında bilgi sahibi oluruz. Örnek olarak aldığı argümanlar olabilir.

    Get-Location: Bulunduğumuz dizini gösterir.

    Set-Location: Bulunduğumuz dizinden argümanda belirttiğimiz dizine geçmemizi sağlar.
Örnek kullanımı:
Set-Location C:\Windows\Temp : "Windows" klasörü içindeki "Temp" klasörüne geçer.

    Get-Service: Bilgisayarınızdaki çalışan veya durdurulmuş olan servislerinizi görüntüler.

    Get-ChildItem: Bulunduğumuz dizindeki dosya ve klasörleri görüntüler.


Get-ChildItem

    Get-Content: Bulunduğumuz dizindeki aldığı dosyayı (argüman) açar.
Örnek kullanımı:
Get-Content deneme.txt

    Copy-Item: Belirttiğiniz bir dizindeki dosyayı yine belirtiğiniz bir dizine kopyalar.

    Remove-Item: Belirttiğiniz bir dosyayı siler.
    
    Move-Item: Dosyayı belirttiğiniz bir dizine taşır.

    Yukarıda önemli gördüğüm bazı komutları kısaca açıkladım. Siz de "get-command", "get-help" gibi komutları kullanarak Windows PowerShell'in diğer komutları hakkında bilgi sahibi olabilirsiniz. Bugünlük anlatacaklarım bu kadar. Haftaya görüşmek üzere, Hoşcakalın.


Referanslar:

Kitap: " The Windows PowerShell Owner's Manual: Version 2.0"
Kitap: "SQL Server 2008 Administration with PowerShell (2009)"
http://www.cozumpark.com/blogs/windows_7/archive/2010/04/11/windows-7-powershell.aspx

10 Mart 2013 Pazar

Windows PowerShell’e Giriş

     Merhaba arkadaşlar, bugün sizlere PowerShell hakkında bilgi vereceğim. Windows PowerShell Microsoft'un yeni nesil kodlama ve otomasyon dilidir. .NET platformu tarafından desteklenmektedir. Windows PowerShell, her Windows sistem yöneticisinin bilmesi gereken Microsoft’un otomasyon aracıdır. Bu yüzden Windows kullanıcıları için önemli bir konu olduğunu düşünüyorum. Windows komut penceresinde (cmd.exe) yapamadığımız veya yapmakta zorlandığımız çoğu işlevi Windows PowerShell sayesinde gerçekleştirebiliriz. Windows PowerShell'in sunduğu yeni komut yapısı Unix sistemindeki komut yapısına benzemektedir. Kullanıcı herhangi bir komutu çalıştırdığında farklı komutlar ile bağ kurabilmektedir. Unix yöneticileri, Windows yöneticilerine göre Windows komut satırında çok fazla zaman harcamaktaydılar. Bu yüzden Windows’un sağladığı grafik kullanıcı arabirimine (GUI) eğilim göstermekteydiler. Windows PowerShell, Unix yöneticilerine daha güçlü bir komut satırı deneyimi sunmaktadır. 

     Biraz da Windows PowerShell’in tarihçesinden bahsedelim. Windows PowerShell 30 Kasım 2006'da ilk olarak Windows Vista işletim sisteminin bir parçası olarak planlanmıştır. Microsoft Exchange Server 2007 ile beraber ilk kez piyasaya sürülmüştür. Windows PowerShell 1.0 sürümü Windows XP, Windows Server 2003 ve Windows Vista için ücretsiz indirilebilmektedir. Windows 7'den itibaren Windows PowerShell 2.0 işletim sistemi ile beraber gelmektedir. Windows PowerShell 2.0 bir önceki sürümünden farklı olarak görsel kullanıcı arayüzüne de sahiptir.[1]

     Windows 7’den daha önceki işletim sistemlerinden birini kullananlar, Windows PowerShell 1.0 kurulumu için gereksinimleri ve kurulumu hakkında bilgiyi aşağıdaki kaynaktan edinebilirler.


Windows PowerShell Nedir ve Nasıl kurulur


    Windows 7’de PowerShell’i açmak için;
Başlat > Tüm Programlar > Donatılar > Windows PowerShell sekmesini kullanabilirsiniz. Alternatif olarak Başlat menüsündeki aramaya “PowerShell.exe” yazarak Windows PowerShell’i açabilirsiniz.




Windows PowerShell 2.0 içinde tanıtılan yeni özellikler:

·         Uzak Hizmet
Windows PowerShell 2.0, Windows PowerShell çalıştıran tek bir bilgisayarda bir veya daha çok uzak bilgisayarlarda komutları çalıştırmayı sağlar. PowerShell’e uzaktan bağlanmak için birden çok yolu sağlar.

·         Tümleşik Komut Dosyası Ortamı
PowerShell tümleşik komut dosyası ortamı (ISE) etkileşimli komutları çalıştırmayı ve düzenlemenizi sağlar. Komut dosyalarında grafik ortamında hata ayıklamayı sağlar.  Ana özellikleri, renk kodlu sözdizimi, seçmeli yürütme, grafik hata ayıklama, Unicode desteği ve içerik duyarlı yardım içerir.

·         Modüller
Modülleri, kod geliştiricilerin ve yöneticilerin bölüm ve birimleri kendi içinde yeniden kullanılabilir ve Windows PowerShell kodlarını düzenlemeye izin verir.  Modül kodu kendi bağlamında yürütülür ve modülü dışında durumunu etkilemez.

·         Gelişmiş İşlevler
Gelişmiş işlevler, yetenekler ve komutlar gibi davranışı olan işlevlerdir. Ancak, bunlar C#  yerine tamamen Windows PowerShell dili ile yazılır.

·         Arka Plan İşleri
Bir komut veya senkronize olmayan ifadeleri( arka planda)  Windows PowerShell 2.0 konsolu ile etkileşim olmadan çalışmasına izin verir.

·         Olay
Bu özellik, dinleme, iletme, yönetim ve sistem olayları üzerinde çalışan Windows PowerShell altyapısı için destek sağlar.

·         Komut Dosyasını Yerelleştirme
Bu yeni özellik, kullanıcının bilgisayarda UI kültür ayarı tarafından belirtilen dilde sözlü iletileri görüntülemek için Windows PowerShell komut dosyaları sağlar.

·         Komut Dosyası Hata Ayıklama
Yeni hata ayıklama özellikleri, satırlar, sütunlar, değişkenler ve komutları kesme noktalarını ayarlamanıza olanak tanır. Kesme noktasına gelindiğinde oluşan eylemleri belirlemenizi sağlar.

·         Yeni Komutlar
Windows PowerShell 2.0, 100'den fazla yerleşik komutlar içerir. Diğer görevleri hariç bu komutlar, bilgisayar ile ilgili olay günlüğü ve performans sayacı yönetim görevlerini sağlar.

Windows PowerShell 2.0 hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edebilirsiniz:

Windows PowerShell Web site
Windows PowerShell Online Help
Windows PowerShell Blog
Windows PowerShell Software Development Kit (SDK)



İlerleyen haftalarda aşağıdaki konuları sizlerle paylaşacağım.


    1. Windows PoweShell komutları ve talimatları

    2. PowerShell programlama dili (1. Bölüm)

    3. PowerShell programlama dili (2. Bölüm)

    4. Windows PoweShell ile Windows İşletim Sistemi Yönetimi

    5. Windows PowerShell: Dosyalar, kayıtlar ve değişkenlerle çalışma

    6. Windows PoweShell ile uzaktan kontrol

    7.Windows PowerShell ile SQL Server 2012 (1. Bölüm)

    8. Windows PowerShell ile SQL Server 2012 (2. Bölüm)

    9. Windows PowerShell ile SQL Server 2012 (3. Bölüm)

Referanslar:
Kitap: “The Windows PowerShell Owner’s Manual: Version 2.0