Aracılığıyla paylaş


PowerShell 7.6'daki Yenilikler

PowerShell 7.6-preview.6 aşağıdaki özellikleri, güncelleştirmeleri ve hataya neden olan değişiklikleri içerir. PowerShell 7.6, .NET 10.0.0 GA sürümü üzerine kurulmuştur.

Değişikliklerin tam listesi için GitHub deposundaki CHANGELOG bakın.

Güncelleştirilmiş modüller

PowerShell 7.6-preview.6 aşağıdaki güncelleştirilmiş modülleri içerir:

  • Microsoft.PowerShell.PSResourceGet v1.2.0-preview5
  • PSReadLine v2.4.4-beta4
  • Microsoft.PowerShell.ThreadJob v2.2.0
  • ThreadJob v2.1.0

ThreadJob, Microsoft.PowerShell.ThreadJob modülü olarak yeniden adlandırıldı. Modülün işlevselliğinde fark yoktur. Eski adı kullanan betiklerin geriye dönük uyumluluğunu sağlamak için ThreadJob v2.1.0 modülü , Microsoft.PowerShell.ThreadJob v2.2.0'ı işaret eden bir proxy modülüdür.

Uyumluluğu Bozan Değişiklikler

  • WildcardPattern.Escape Yalnız ters köşelerden doğru kaçış düzeltmesi (#25211) (Teşekkürler@ArmaanMcleod!)
  • Cmdlet için -ChildPath parametresine string[] dönüştürme Join-Path (#24677) (Teşekkürler@ArmaanMcleod!)
  • Olay kaynağı adından sondaki boşluğu kaldırma (#24192) (Teşekkürler @MartinGC94!)

Sekme tamamlama geliştirmeleri

  • Takma Adları Doğru Şekilde Çözümlenmiş Komutlara Genişletin (#26571) (Teşekkürler @kilasuit!)
  • Parametre tamamlamada araç ipucu için parametre HelpMessage kullanma (#25108) (Teşekkürler @jborean93!)
  • Yinelenen modülleri tamamlama sonuçlarından kaldırma (#25538) (Teşekkürler @MartinGC94!)
  • ArrayLiteralAst ve ParenExpressionAst içinde atanan değişkenler için tamamlama özelliği ekle (#25303) (Teşekkürler @MartinGC94!)
  • Env/function değişkenleri için sekme tamamlamayı düzeltme (#25346) (Teşekkürler @jborean93!)
  • AssignmentStatements ve Artırma/azaltma işleçlerini çıktılarının bir parçası olarak dikkate almamak için Adlandırılmış ve Deyim blok türü çıkarımını güncelleyin (#21137) (Teşekkürler@MartinGC94!)
  • (-PropertyType) için New-ItemProperty bağımsız değişken tamlayıcı ekleme (Teşekkürler@ArmaanMcleod!)
  • Tamamlama için -Noun parametresine Get-Command tek/çift tırnak desteği eklendi (#24977) (Teşekkürler @ArmaanMcleod!))
  • -PSEdition parametresi için Get-Module tek/çift tırnak tamamlama desteği eklendi (#24971) (Teşekkürler @ArmaanMcleod!))
  • AnalysisCache'te InvalidCommandNameCharacters'ı daha verimli karakter araması için öğesine SearchValues<char> dönüştürün (#24880) (Teşekkürler @ArmaanMcleod!)
  • Daha verimli karakter araması için Tamamlama Tamamlayıcıları'ndaki s_charactersRequiringQuotes öğesini SearchValues<char> ile dönüştürün (#24879) (Teşekkürler@ArmaanMcleod!))
  • Geçersiz yol/dosya adına sahip IndexOfAny() çağrılarını daha verimli karakter araması için SearchValues<char> ile güncelleyin ([#24896][24896]) (Teşekkürler @ArmaanMcleod!))
  • char[] dizisini CompletionRequiresQuotes girişinde önbelleğe alınmış SearchValues<char> ile değiştirin (#24907) (Teşekkürler @ArmaanMcleod!))
  • Verb, StrictModeVersion, Scope ve PropertyType Bağımsız Değişken Tamamlayıcılarına tek bir yardımcı yöntemle tırnak işleme ekleme (#24839) (Teşekkürler @ArmaanMcleod!))
  • Sağlayıcı ve boşluklarla paylaşım tamamlamayı düzeltme (#19440) (Teşekkürler @MartinGC94!)
  • Değişken türü çıkarımı geliştirme (#19830) (Teşekkürler @MartinGC94!)
  • Karma tablo anahtar tamamlama için araç ipuçları ekle (#17864) (Teşekkürler @MartinGC94!)
  • Klasik işlevlerdeki parametrelerin tür çıkarımı düzeltilir (#25172) (Teşekkürler @MartinGC94!)
  • Atama türü çıkarımı geliştirme (#21143) (Teşekkürler @MartinGC94!)
  • Değişkenler çıkarılırken aynı içindeki CommandAst atamalarını dışla (#25224) (Teşekkürler@MartinGC94!)
  • Betik gereksinimleri başarısız olduğunda parametre tamamlamayı düzeltme (#17687) (Teşekkürler @MartinGC94!)
  • Öznitelik bağımsız değişkenlerinin tamamlanmasını geliştirme (#25129) (Teşekkürler @MartinGC94!)
  • Betik bloklarında sahte bağlamaya dayalı tamamlama düzeltmesi (#25122) (Teşekkürler @MartinGC94!)
  • Yinelenen komut adlarını tamamlamayın (#21113) (Teşekkürler @MartinGC94!)
  • Komut yönlendirmesiyle atanmış değişkenler için tamamlayıcı ekle (#25104) (Teşekkürler @MartinGC94!)
  • Örnek bir içindeki TypeName.GetReflectionType() genel tür tanımını temsil ettiğinde TypeName çalışmak için düzeltme GenericTypeName (#24985)
  • Değişken/property atama mekanizmasını güncelleyerek tür çıkarımına geri dönüş yapılmasını sağla (#21134) (Teşekkürler @MartinGC94!))
  • Yeniden yönlendirilen komutlar için tür çıkarımı işleme (#21131) (Teşekkürler @MartinGC94!)
  • Get-Help yaklaşımını kullanarak doğru yerel ayara sahip dosyaları bul about_*.help.txt tamamlamalar için (#24194) (Teşekkürler @MartinGC94!))
  • Do döngüleri içinde atanan değişkenlerin tamamlanması düzeltildi (#25076) (Teşekkürler @MartinGC94!)
  • Bir yol alt öğeleri yerine kendisini döndürdüğünde sağlayıcı yollarının tamamlanmasını düzeltme (#24755) (Teşekkürler @MartinGC94!)
  • Kapsam belirtmeden kapsamlı değişkenlerin tamamlanmasını etkinleştirin (#20340) (Teşekkürler @MartinGC94!)
  • Dosya sistemi olmayan sağlayıcılarda joker karakterler kullanarak yolları tamamlarken ortaya çıkan eksik sonuç sorununu düzeltin (#24757) (Teşekkürler @MartinGC94!))

Cmdlet geliştirmeleri

  • -Delimiter parametresi ekleme Get-Clipboard (#26572) (Teşekkürler@MartinGC94!)
  • Eski BinaryFormatter kullanımını özel uygulamayla değiştirerek Out-GridView düzeltin (#25497) (Teşekkürler @mawosoft!)
  • Web cmdlet'lerdeki detaylı ve hata ayıklama mesajlarını geliştirme (#25510) (Teşekkürler @JustinGrote!)
  • Web cmdlet isteği ve yanıtının hata ayıklama günlüğünü geliştirme (#25479) (Teşekkürler @JustinGrote!)
  • Yerel komutlar için tümünü kapsayan bir tamlayıcı kaydetmeyi desteklemek için parametresini Register-ArgumentCompleter -NativeFallback ekleyin (#25230)
  • "‘-Target’ ifadesine New-Item içinde olduğu gibi ele alın (#25186) (Teşekkürler @GameMicrowave!))"
  • Windows'da paket yöneticisi yürütülebilir dosyası için PATH ortam değişkenini güncelleştirme (#25847)
  • Kritik olmayan hizmet özelliklerini alırken sık karşılaşılan hataları göz ardı edecek şekilde Get-Service güncelleyin (#24245) (Teşekkürler @jborean93!)
  • Bağımsız Değişken Tamamlayıcı için Join-String tek/çift tırnak desteği ekleyin (#25283) (Teşekkürler @ArmaanMcleod!))
  • IsScreenReaderActive() den ConsoleHost denetimini kaldır (#26118)
  • $using(Invoke-Command) içinde ifade desteğini geliştirme (Teşekkürler@jborean93!)
  • Varsayılan geri bildirim sağlayıcısı zaman aşımını 300ms'den 1000 ms'ye değiştirme (#25910)
  • [bigint] tip dönüşümünde binlik ayırıcılar için destek ekleme (#25396) (Teşekkürler @AbishekPonmudi!)
  • Aşırı yük izleme amacıyla MethodInvocation izi ekle (#21320) (Teşekkürler @jborean93!))
  • Dizi değişmez değerleri içindeki açıklamaları yoksaymak için düzeltme ConvertFrom-Json (#14553) (#26050) (Teşekkürler @MatejKafka!)
  • -Debug konusunu ShouldProcess istemini tetiklemeyecek şekilde düzelt (#26081)
  • Write-Host bileşeninin OutputRendering = PlainText'e uygunluğunu sağla (#21188)
  • Sihirli uzantılarla hata ayıklama izleme hatalarını düzeltme (#25726) (Teşekkürler @jborean93!)
  • Yol çift tırnak karakteri içeriyorsa tamamlamada alıntıyı düzeltme (#25631) (Teşekkürler @MartinGC94!)
  • Gelişmiş işlevler için ortak parametreyi -ProgressAction düzeltme (#24591) (Teşekkürler @cmkb3!)
  • Birden çok iş parçacığından konsola ilerleme kayıtlarını yazarken NullReferenceException'yi düzeltin (#25440) (Teşekkürler @kborowinski!)
  • (FileSystemProvider.CreateDirectory) içinde mutlak yolu kullan (Teşekkürler@Tadas!)
  • Devralınan korumalı iç örnek üyelerinin PowerShell sınıf kapsamında erişilebilir olmasını sağlama (#25245) (Teşekkürler @mawosoft!)
  • Tercihleri denetlemek için iç yöntemler ekleme (#25514) (Teşekkürler @iSazonov!)
  • -ExcludeModule parametresi ekleme Get-Command (#18955) (Teşekkürler@MartinGC94!)
  • Alternatif veri akışlarını listelerken için doğru Get-Item özelliğini döndür (#18019) (Teşekkürler@kilasuit!)
  • Atama özel durumu için sonlandırılmayan hatayı bildirme düzeltmesi Get-ItemProperty (#21115) (Teşekkürler @ArmaanMcleod!)
  • q'nin XmlNode nesnesini işleme (#24669) hatası düzeltildi (Teşekkürler @brendandburns!)
  • Geçersiz dizin adı geçirildiğinde New-Item -Force hata oluştu (#24936) (Teşekkürler @kborowinski!)
  • Start-Transcript öğesine, transkript yolunu belirlemek için $Transcript ile sarmalanmış dizeyi kullanan PSObject izni ver (#24963) (Teşekkürler @kborowinski!))
  • Yoklama verimliliğini artırma Start-Process -Wait (#24711) (Teşekkürler @jborean93!)
  • Modüllerin kısa isimleriyle tamamlanmasını ekle (#20330) (Teşekkürler @MartinGC94!) )

Motor geliştirmeleri

  • API'de CompletionCompleters.CompleteFilename() null başvuru özel durumu oluşturan bir regresyon düzeltildi (#26487)
  • Çocuk ssh işlemi oluşturulduktan sonra pipe istemci tanıtıcılarını kapat (#26564)
  • PowerShell 7'de PowerShellCore sağlayıcısını yönetmek için PSDiagnostics modülünü güncelleştirin (#25590)
  • Çevresel değişken POWERSHELL_DIAGNOSTICS_OPTOUT kullanılarak named-pipe dinleyicisinden çıkışa izin ver (#26086)
  • Soket zaman aşımının yalnızca belirteç doğrulaması sırasında ayarlandığından emin olun (#26066)
  • Konsol konağı çıkışının stderr dikkate NO_COLOR alınmasını sağlamak için düzeltme (#24391)
  • Daha yeni istemci ve sunucu arasındaki oturum anahtarı değişimini kullanım dışı bırakacak şekilde PSRP protokolunu güncelleştirme (#25774)
  • ssh Varsayılan Runspace kullanılabilir olmadığında PATH denetimini SSHConnectionInfo düzeltme (#25780) (Teşekkürler@jborean93!)
  • Yerel komut çıkış kodları için onaltılık biçim ekleme (#21067) (Teşekkürler @sba923!)
  • Değişken türü çıkarımı içindeki sonsuz döngü çökmesini düzeltme (#25696) (Teşekkürler @MartinGC94!)
  • PSForEach ve PSWhere, PowerShell intrinsic yöntemleri olan Where ve Foreach için diğer adlar olarak ekle (#25511) (Teşekkürler @powercode!))
  • Telemetri koleksiyonu listesine AIShell modülü eklendi (#24747)
  • Enum adlarını dizi olarak almak için EnumSingleTypeConverter içinde yardımcı eklendi (#17785) (Teşekkürler @fflaten!))
  • X509Certificate2 için DnsNameList'i Metodu kullanacak X509SubjectAlternativeNameExtension.EnumerateDnsNames() şekilde güncelleştirin (#24714) (Teşekkürler@ArmaanMcleod!)
  • ErrorRecord'ı boş özel durum iletisiyle boş dizeye dizeleştirme (#24949) (Teşekkürler@MatejKafka!)
  • PipelineStopToken öğesini Cmdlet öğesine ekle, (#24620) işlem hattı durduğunda sinyal verilecek (Teşekkürler @jborean93!))
  • AppLocker'a geri dönme WldpCanExecuteFile (#24912)
  • Yöntem bağımsız değişkenleri için gerekli tür dönüştürmesi yapıldıktan sonra .NET yöntemi çağırma günlüğünü şuraya taşıyın (#25022)
  • Değişken türü çıkarımındaki sonsuz döngü düzeltilir (#25206) (Teşekkürler @MartinGC94!)
  • Eski belirsiz öneriyi kaldırın ve yerel betik dosyası adı önerisini düzeltin (#25177)
  • Unix platformlarında, SystemPolicy görünür ancak işlem dışı olacak şekilde Genel API'leri yapın, böylece bunlar PowerShellStandard.Library içine dahil edilebilir (#25051)
  • (-NoNewWindow) ile işlem başlatırken standart tanıtıcıları açıkça ayarlama
  • Değişken genişletme ve desc ekleme araç ipucu düzeltilir (#25112) (Teşekkürler @jborean93!)
  • Deyimleri kullanmak için göreli yolları tamamlarken betik dosya yolunu kullanma (#20017) (Teşekkürler @MartinGC94!)
  • İşletim sistemi mimarisi çeviri katmanları aracılığıyla DSC ayrıştırmasını destekle (#24852) Teşekkürler

Deneysel özellikler

PowerShell 7.6-preview.6, deneysel özelliklerde aşağıdaki değişiklikleri içerir.

Aşağıdaki özellikler temel özelliklere dönüştürülmüştür:

Bu sürüm aşağıdaki deneysel özellikleri içerir: