CMD ya da Siyah Ekranı duymuşsanız muhtemelen PowerShell‘i de duymuşsunuzdur. Aslında görüntü olarak CMD (Komut İstemi) ile neredeyse aynıdır. Bakalım PowerShell Nedir? Sürüm Kontrolü ve güncelleme nasıl yapılır?
PowerShell Nedir?
PowerShell, Microsoft tarafından geliştirilmiş komut satırı kabuğudur. Shell ismi de buradan gelmektedir. Ama sadece komut satırı kabuğu değil aynı zamanda bir betik (script) dilidir.
Ama “CMD vardı zaten” diyebilirsiniz. Öncelikle bilmeniz gereken şu: Bir işi yapan bir program var oldu diye “başka programlara gerek yok” düşüncesinden kurtulun. Her yiğidin yoğurt yiyişi farklıdır.
Evet CMD var ama PowerShell nesne tabanlı yaklaşım kullanır. Yani çıktılar düz metin değil, yapılandırılmış .NET nesneleridir. Bu sayede verileri kolayca filtreleyebilir, sıralayabilir ve başka komutlara aktarabilirsiniz.
PowerShell Ne İşe Yarar?
| Alan | Neler Yapılabilir? |
|---|---|
| Sistem Yönetimi | Servisleri başlatma/durdurma, süreç yönetimi, kayıt defteri (registry) işlemleri |
| Otomasyon | Tekrarlayan görevleri betiklerle otomatikleştirme (toplu kullanıcı oluşturma, yedekleme, güncelleme) |
| Dosya İşlemleri | Toplu dosya yeniden adlandırma, taşıma, kopyalama, klasör yapısı oluşturma |
| Uzaktan Yönetim | PowerShell Remoting ile uzak sunucularda komut çalıştırma |
| Cloud Yönetimi | Azure, AWS, Microsoft 365 gibi bulut servislerini yönetme |
| Aktif Dizin (AD) | Kullanıcı, grup ve bilgisayar hesaplarını yönetme |
- Cmdlet’ler:
Get-Process,Stop-Service,New-Itemgibi fiil-isim formatında yüzlerce hazır komut - Pipeline (|) : Bir cmdlet’in çıktısını diğerine nesne olarak aktarma
- Çapraz Platform: PowerShell 7+ ile Windows, macOS ve Linux’ta çalışır
- .NET Entegrasyonu: Doğrudan .NET kütüphanelerini kullanabilirsiniz
- ISE / VS Code Desteği: Gelişmiş betik yazma ve hata ayıklama ortamı
Özetle: PowerShell, Windows başta olmak üzere modern işletim sistemlerinde sistem yönetimi, otomasyon ve konfigürasyon işlemleri için vazgeçilmez, güçlü bir araçtır.
PowerShell Sürümünü Öğrenme
PowerShell Açma: Klavyeden Windows + R tuşlarına basın karşınıza Çalıştır penceresi açılacak. Buraya powershell yazıp Tamam butonuna basın.

PowerShell Sürümünü Öğrenme: Çıkan komut ekranında aşağıdaki komutu yazıp Enter tuşuna basın.
$PSVersionTable.PSVersionKomutu çalıştırdıktan sonra karşınıza aşağıdaki resimdeki gibi satırlar çıkacak:

Karışımıza 4 sütun çıkıyor. Tek tek bu sütunlara bakalım:
- Major: (5) Bu powershell programının ana sürümüdür. Açıkçası bu değerin düşük olması programın da düşük bir versiyonda olduğu anlamına geliyor. Şu an bendeki PowerShell 5.x sürümüdür ki bu oldukça eskidir. Şu an geliştirilmemekte olan bir sürüm sadece güvenlik yamaları alıyor.
- Minor: (1) Bu da alt sürümdür. Yani ben de bulunan sürüm PowerShell 5.1.
- Build: (26100) Bu Windows ile ilgili bir bilgidir. Windows’un yapı numarasıdır. Hangi Windows güncellemesinin yüklü olduğunu gösteriyor.
- Revision: (8875) Bu ise yama / düzeltme numarasıdır. Program en son hangi güncellemeyi almış onu söylüyor bize.
Yani kısaca bendeki PowerShell sürümü 5.1.26100.8875.
Öğrenmenin başka yolu? Başka yolu var $PSVersionTable.PSVersion bu komut yerine $host.Version komutu kullanırsınız. Aynı sonucu mu verir?Sürümü öğrenmek için $host.Version komutunu da kullanabilirsiniz. Eğer Windows PowerShell 5.1 gibi eski bir sürüm kullanıyorsanız bu iki komut genellikle aynı sonucu döndürür.”Siz yine de PSVersionTable komutunu kullanın.
Uzak Bilgisayarlarda Sürüm Kontrolü
Başka bir bilgisayardaki PowerShell sürümünü öğrenmek için de aynı komutu kullanabilirsiniz. Sadece hedef bilgisayarın adını bilmeniz yeterlidir:
Invoke-Command -ComputerName "UzakBilgisayarAdı" -ScriptBlock { $PSVersionTable.PSVersion }Şu an canlı deneme yapamıyorum. Ama aşağıdaki gibi bir sonuç karşınıza çıkar:
Major Minor Build Revision PSComputerName
----- ----- ----- -------- --------------
5 1 26100 8875 UzakBilgisayarAdiNot: Uzak bilgisayarda PowerShell sürümünü kontrol etmek için Invoke-Command komutunun sağlıklı çalışması için uzak bilgisayarda WinRM servisinin çalışıyor olması ve Remoting’in etkinleştirilmiş olması gerekir. Windows Server işletim sistemlerinde bu özellik genellikle varsayılan olarak açıktır ama Windows 11/10 kullanan bir bilgisayarda kapalı olarak gelmektedir.
PowerShell 7 Sürüme Geçme
Eğer eski bir PowerShell sürümü kullanıyorsanız ve yeni sürüme geçmek isterseniz WinGet üzerinden veya Microsoft Store uygulaması üzerinden güncelleyebilirsiniz.
Microsoft Store ile Yeni PowerShell Sürümüne Geçme
Microsoft Store programını açın ve üstteki arama kısmından PowerShell yazıp aratabilirsiniz. Birden fazla sonuç çıkabilir endişelenmeyin. Sadece PowerShell başlığına sahip olana tıklayın. Yapımcısı Micrososft Corporation olması lazım.

Gördüğünüz gibi versiyon kısmında 7.6.4 yazmakta bizim ki 5.1 idi. Burada Al butonuna tıklayarak yeni versiyonunu edinebilirsiniz.
WinGet ile Yeni Versiyonu Kurma
Yukarıda gördüğünüz gibi aslında doğrudan PowerShell güncellemesi diye bir şey yok. Windows PowerShell 5.1, Windows işletim sisteminin yerleşik bir bileşenidir ve doğrudan PowerShell 7.x sürümüne “yükseltilmez”. Bunun yerine, PowerShell 7 ‘yi kurmak gerekiyor.
PowerShell programını açın ve aşağıdaki komutu yazıp Enter tuşuna basın:
winget install --id Microsoft.PowerShell --source wingetİndirip kurması bir kaç dakika sürebilir sorun etmeyin. Aşağıdaki gibi görünür.
PS C:\WINDOWS\system32> winget install --id Microsoft.PowerShell --source winget
Found PowerShell [Microsoft.PowerShell] Version 7.6.4.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installedYeni PowerShell Programını Açma
İlk başta yukarıda PowerShell açmak için Windows + R tuşuna basıp Çalıştır ekranında powershell yazıp Enter tuşuna basmanız yeterliydi. Ama şimdi bilgisayarımızda iki tane PowerShell var. Bir tanesi 5.x diğeri ise 7.x
Eski yöntemle hala PowerShell 5.x i açabilirsiniz. Çünkü bu hala yerinde duruyor. PowerShell 7.x programını açmak için artık powershell yerine pwsh yazıp açmanız gerekiyor.

Tamam butonuna bastığınızda komut ekranında aşağıdaki yazıları görebilirsiniz.
PowerShell 7.6.4
PS C:\Users\Amca>Gördüğünüz gibi artık mevcut sürümünüz 7.6.4
Neden PowerShell 7.x Kullanmalıyız?
Son bir açıklamayla konuyu bitirelim. Bilgisayarımızda PowerShell 5.x varken gidip PowerShell 7.x kurduk. ama neden?
Platform Bağımsızlığı: PowerShell 5.1 yalnızca Windows üzerinde çalışır. owerShell 7 ise .NET Core/7/8 mimarisi üzerine kuruludur; Windows, macOS ve Linux sistemlerde birebir aynı kodlarla çalışır.
Ciddi Performans Artışı: PowerShell 7, yeni .NET çalışma zamanı sayesinde döngülerde, dosya okuma/yazma işlemlerinde ve nesne işlemelerinde PowerShell 5.1’e kıyasla 2 ila 5 kata kadar daha hızlıdır.
Paralel İşlem Desteği (ForEach-Object -Parallel): Büyük veri setlerini, birden fazla sunucuyu veya dosyayı işlerken işlemleri eş zamanlı (paralel) çalıştırabilirsiniz.
Yazılım Dili Geliştirmeleri (Modern Syntax): PowerShell 7, modern programlama dillerinden bilinen pratik operatörleri destekler:
- Ternary Operator (Üçlü Operatör):
$result = ($a -gt $b) ? "Büyük" : "Küçük" - Null Coalescing:
$value = $nullableValue ?? "Varsayılan Değer" - Pipeline Hata Yönetimi: Pipeline içindeki hataları yakalamayı kolaylaştıran yeni
Cleanblokları.
Yeni Modüller ve Modül Uyumluluğu: Özellikle AWS, Azure (Az), Microsoft Graph API, Docker veya Kubernetes gibi modern bulut/devops araçlarının güncel PowerShell modülleri artık PowerShell 7 öncelikli geliştirilmektedir. PowerShell 5.1 üzerinde bu modüller ya yavaş çalışır ya da uyumluluk hataları verir.
Gelişmiş Hata Görünümü (ConciseView): PowerShell 5.1’deki karmaşık ve uzun kırmızı hatayı gösteren metinler yerine, PowerShell 7 hatanın tam olarak hangi satırda ve hangi karakterde olduğunu gösteren renkli ve okunaklı bir ConciseView çıktısı sunar.
