PowerShell Sürüm Öğrenme ve PowerShell 7 Sürümüne Geçme

PowerShell Sürüm Öğrenme ve PowerShell 7 Sürümüne Geçme

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?

AlanNeler Yapılabilir?
Sistem YönetimiServisleri başlatma/durdurma, süreç yönetimi, kayıt defteri (registry) işlemleri
OtomasyonTekrarlayan görevleri betiklerle otomatikleştirme (toplu kullanıcı oluşturma, yedekleme, güncelleme)
Dosya İşlemleriToplu dosya yeniden adlandırma, taşıma, kopyalama, klasör yapısı oluşturma
Uzaktan YönetimPowerShell Remoting ile uzak sunucularda komut çalıştırma
Cloud YönetimiAzure, AWS, Microsoft 365 gibi bulut servislerini yönetme
Aktif Dizin (AD)Kullanıcı, grup ve bilgisayar hesaplarını yönetme

  • Cmdlet’lerGet-ProcessStop-ServiceNew-Item gibi 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.PSVersion

Komutu ç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.

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      UzakBilgisayarAdi

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 installed

Yeni 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 Clean blokları.

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.

Similar Posts

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir