Windows Management Framework (WMF) 5.x Sürüm Notları

WMF 5.0 Değişiklikleri

  • PowerShell 5.0 yeni bir yapılandırılmış Bilgi akışı ekler
  • DSC'de dört yeni DSC kaynağı içeren iyileştirmeler:
    • WindowsFeatureSet
    • WindowsOptionalFeatureSet
    • ServiceSet
    • İşlem Kümesi
  • PowerShell uzaktan iletişim aracılığıyla rol tabanlı yönetimi etkinleştirmek için Yeterli Yönetim eklendi
  • PowerShell 5.0, kullanıcı tanımlı sınıfları ve numaralandırmaları içerecek şekilde dili genişletir
  • PowerShell ISE'de geliştirilmiş hata ayıklama özellikleri ve uzaktan hata ayıklama eklendi
  • PowerShellGet ve PackageManagement modülleri eklendi
  • Gelişmiş PowerShell betik günlüğü ve transkriptleri
  • Şifreleme İletisi Söz Dizimi cmdlet'leri ekleme
  • WMF 5.0, Windows için NetworkSwitchManager modülünü içerir
  • Microsoft.PowerShell.ODataUtils modülü eklendi
  • Yazılım Envanteri Günlüğü (SIL) desteği eklendi
  • Kullanıcı isteklerine ve sorunlarına yanıt olarak yeni cmdlet'leri kesme veya güncelleştirme

WMF 5.1 Değişiklikleri

WMF 5.1, Windows Server 2016 ile yayımlanan PowerShell, WMI, WinRM ve Yazılım Envanter Günlüğü (SIL) bileşenlerini içerir. WMF 5.1, Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 ve 2012 R2'ye yüklenebilir ve WMF 5.0 üzerinde aşağıdakiler gibi çeşitli geliştirmeler sağlar:

  • Yeni cmdlet’ler
  • PowerShellGet iyileştirmeleri arasında imzalı modülleri zorlama ve JEA modülleri yükleme bulunur
  • PackageManagement; Kapsayıcılar, CBS Kurulumu, EXE temelli kurulum ve CAD paketleri için destek ekledi
  • DSC ve PowerShell sınıfları için hata ayıklama iyileştirmeleri
  • PowerShellGet cmdlet’leri kullanırken Çekme Sunucusundan gelen katalog imzalı modülleri zorlamayı da içeren güvenlik iyileştirmeleri
  • Birkaç kullanıcı talebi ve sorununa yanıt

Önemli

WMF 5.1'i Windows Server 2008 veya Windows 7'ye yüklemeden önce WMF 3.0'ın yüklü olmadığını onaylayın. Daha fazla bilgi için bkz. Windows Server 2008 R2 SP1 ve Windows 7 SP1 için WMF 5.1 Önkoşulları.

PowerShell Sürümleri

Sürüm 5.1'den başlayarak PowerShell, farklı özellik kümelerini ve platform uyumluluğunu belirten farklı sürümlerde kullanılabilir.

  • Masaüstü Sürümü: .NET Framework üzerine yapılandırılmıştır ve Windows’un Sunucu Çekirdeği ve Windows Masaüstü gibi tam boyutlu sürümlerinde çalışan PowerShell sürümlerinin hedeflendiği betikler ve modüllerle uyumluluk sağlar.
  • Çekirdek Sürümü: .NET Core üzerine yapılandırılmıştır ve Windows’un Nano Sunucu ve Windows IoT gibi azaltılmış boyutlu sürümlerinde çalışan PowerShell sürümlerinin hedeflendiği betikler ve modüllerle uyumluluk sağlar.

PowerShell Sürümlerini kullanma hakkında daha fazla bilgi edinin

Modül Çözümleme Önbelleği

WMF 5.1'den başlayarak PowerShell, dışarı aktarmış olduğu komutlar gibi bir modül hakkındaki verileri önbelleğe almak için kullanılan dosya üzerinde denetim sağlar.

Varsayılan olarak, bu önbellek dosyasında ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCachedepolanır. Önbellek genellikle başlangıçta komut aranırken okunur ve bir modül içeri aktarıldıktan bir süre sonra arka plan iş parçacığına yazılır.

Önbelleğin varsayılan konumunu değiştirmek için PowerShell'i başlatmadan önce ortam değişkenini $env:PSModuleAnalysisCachePath ayarlayın. Bu ortam değişkenine yapılan değişiklikler yalnızca alt işlemleri etkiler. Değerin, PowerShell'in dosya oluşturma ve yazma iznine sahip olduğu bir tam yolu (dosya adı dahil) adlandırması gerekir. Dosya önbelleğini devre dışı bırakmak için bu değeri geçersiz bir konuma ayarlayın, örneğin:

$env:PSModuleAnalysisCachePath = 'nul'

Bu, yolu geçersiz bir cihaza ayarlar. PowerShell yola yazamıyorsa hata döndürülür, ancak bir izleyici kullanarak hata bildirimi görebilirsiniz:

Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }

Önbelleği yazarken, PowerShell gereksiz yere büyük bir önbellekten kaçınmak için artık mevcut olmayan modülleri denetler. Bazen bu denetimler istenmez; bu durumda şunları ayarlayarak bunları kapatabilirsiniz:

$env:PSDisableModuleAnalysisCacheCleanup = 1

Bu ortam değişkeninin ayarlanması geçerli işlemde hemen geçerli olur.

Modül sürümünü belirtme

WMF 5.1'de, using module PowerShell'deki modülle ilgili diğer yapılarla aynı şekilde davranır. Daha önce belirli bir modül sürümünü belirtmenin bir yolu yoktu; birden çok sürüm varsa, bu bir hatayla sonuçlanır.

WMF 5.1'de:

  • ModuleSpecification Constructor (Hashtable) kullanabilirsiniz.

    Bu karma tablo ile aynı biçime Get-Module -FullyQualifiedNamesahiptir.

    Örnek:using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}

  • Modülün birden çok sürümü varsa, PowerShell ile aynı çözümleme mantığınıImport-Module kullanır ve hata döndürmez; ve Import-DscResourceile Import-Module aynı davranış.

Pester geliştirmeleri

WMF 5.1'de, PowerShell ile birlikte gelen Pester sürümü 3.3.5'ten 3.4.0'a güncelleştirildi. Bu güncelleştirme Nano Sunucu'da Pester için daha iyi davranış sağlar.

GitHub deposunda CHANGELOG'ı inceleyerek Pest'deki değişiklikleri gözden geçirebilirsiniz.