PowerShell 7.3'teki Yenilikler
PowerShell 7.3, .NET 7.0 üzerinde oluşturulan sonraki kararlı sürümdür.
PowerShell 7.3 aşağıdaki özellikleri, güncelleştirmeleri ve hataya neden olan değişiklikleri içerir.
Hataya Neden Olan Değişiklikler ve Geliştirmeler
- Bu sürümde, Windows API'leri uyumluluk için güncelleştirildi veya kaldırıldı, yani PowerShell 7.3 Windows 7'de çalışmıyor. Windows 7 artık desteklenmese de, önceki derlemeler Windows 7'de çalıştırılabilir.
- Hyper-V için PowerShell Direct yalnızca Windows 10, sürüm 1809 ve üzeri sürümlerde desteklenir.
Test-Connection
.NET 7'de kasıtlı olarak yapılan bir hata değişikliği nedeniyle bozuktur. #17018 tarafından izlenir- Kolay kaynak temizlemeye izin vermek için , ve
end
betik bloğunabegin
process
eş olarak blok ekleyinclean
(#15177) - için
$PSStyle.OutputRendering
varsayılanı Ana Bilgisayar olarak değiştir - Dize girişini değiştirmeden yapma
Out-String
ve saklama (#17455Out-File
) - System.Security.AccessControl.ObjectSecurity'nin tür veri tanımını Microsoft.PowerShell.Security modülüne taşıma (#16355) (Teşekkürler@iSazonov!)
- Bu değişiklik öncesinde, bir kullanıcının System.Security.AccessControl.ObjectSecurity örneği için tanımlanan kod özelliklerini kullanmak için Microsoft.PowerShell.Security modülünü açıkça içeri aktarması gerekmez.
- Bu değişiklik sonrasında, kullanıcının bu kod özelliklerini ve kod yöntemlerini kullanabilmesi için Microsoft.PowerShell.Security modülünü açıkça içeri aktarması gerekir.
Sekme tamamlama geliştirmeleri
- PowerShell 7.3, varsayılan olarak Tahmine Dayalı IntelliSense'i etkinleştiren PSReadline 2.2.6'yı içerir. Daha fazla bilgi için bkz . about_PSReadLine.
- için belirtilen betik bloğu içinde sekme tamamlamayı düzeltin
ValidateScriptAttribute
. (#14550) (Teşekkürler @MartinGC94!) - (#16438) sonrasında
break
/continue
döngü etiketleri için sekme tamamlama eklendi (Teşekkürler@MartinGC94!) - Birden çok senaryoda Karma Tablo tamamlamayı geliştirme (#16498) (Teşekkürler @MartinGC94!)
- Parametre sıçraması
- için bağımsız değişkenler parametresi
Invoke-CimMethod
- için FilterHashtable parametresi
Get-WinEvent
- CIM cmdlet'leri için özellik parametresi
- Üye tamamlama senaryolarından yinelenenleri kaldırır
- Ağ paylaşımı (UNC yolu) tamamlamada eğik çizgileri destekleme (#17111) (Teşekkürler @sba923!)
- Üye otomatik uyumluluğu geliştirme (#16504) (Teşekkürler @MartinGC94!)
- Parametreler için Enum'lara göre ValidateSet tamamlamalarının önceliğini belirleme (#15257) (Teşekkürler @MartinGC94!)
- Tür parametreleriyle genel yöntemler için tür çıkarımı desteği ekleme (#16951) (Teşekkürler @MartinGC94!)
- Tür çıkarımı ve tamamlamalarını geliştirme (#16963) (Teşekkürler @MartinGC94!)
- için tamamlama sonuçlarında yöntemlerin gösterilmesine izin verir
ForEach-Object -MemberName
- gibi void döndüren ifadelerin tamamlanmasını engeller
([void](""))
- Sınıf tamamlama AST'yi temel alarak varsayılan olmayan Sınıf oluşturucularının gösterilmesine izin verir
- için tamamlama sonuçlarında yöntemlerin gösterilmesine izin verir
- (#17716) için
$_
tür çıkarımı geliştirin (Teşekkürler@MartinGC94!) - ICollection için tür çıkarımı düzeltilir (#17752) (Teşekkürler@MartinGC94!)
- Değişkenleri tamamlarken ayraçların kaldırılmasını engelle (#17751) (Teşekkürler @MartinGC94!)
- Sözlükler için dizin ifadeleri için tamamlama ekleme (#17619) (Teşekkürler @MartinGC94!)
- Öznitelik belirteçleri için tür tamamlama düzeltmesi (#17484) (Teşekkürler @MartinGC94!)
- Dinamik parametre sekmesinin tamamlanmasını geliştirme (#17661) (Teşekkürler @MartinGC94!)
- Değerin önünde parametreyi tamamlarken konumsal parametreleri bağlamaktan kaçının (#17693) (Teşekkürler @MartinGC94!)
Hata işleme özellikleri geliştirildi
- Yeniden yönlendirmelerle komut ifadesi için doğru ayarlama
$?
(#16046) - Kullanırken
$PSNativeCommandUseErrorActionPreference
bir atama hatasını düzeltme (#15993) - Yerel komut hata işlemesini isteğe bağlı olarak yerine
ErrorActionPreference
getirin (#15897) - Sıfır olmayan çıkış kodu ErrorRecord (#16108) için yürütülebilir
TargetObject
yolu belirtin (Teşekkürler@rkeithhill!)
Oturum ve uzaktan iletişim geliştirmeleri
- OpenSSH seçeneklerinin doğrudan geçirilmesine izin vermek için SSH üzerinden PSRP komutlarına ekleyin
-Options
(#12802) (Teşekkürler @BrannenGH!) - Dosyasında tanımlanan
.pssc
oturum yapılandırmasıyla yeni bir işlem başlatmaya izin vermek için parametresinipwsh
ekleyin-ConfigurationFile
(#17447) - Windows dışı platformlarda kullanmak
New-PSSessionConfigurationFile
için destek ekleme (#17447)
Cmdlet'ler güncelleştirildi
- Web cmdlet'lerine parametre ekleme
-HttpVersion
(#15853) (Teşekkürler @hayhay27!) - Açık uçlu giriş etiketleri için web cmdlet'lerine destek ekleme (#16193) (Teşekkürler @farmerau!)
- En fazla 100'e izin vermek için düzeltme
ConvertTo-Json -Depth
(#16197) (Teşekkürler @KevRitchie!)@rkeithhill!) - İfadeyle çağrı
Invoke-Command
yaparken değişken işlemeyi$using:
geliştirme (#16113) (Teşekkürler @dwtaber!) Invoke-Command
Komutu yerel olarak (#16545) çağırırken katı modun belirtilmesine izin vermek için öğesini ekleyin-StrictMode
(Teşekkürler@Thomas-Yu!)- Kolay kaynak temizlemeye izin vermek için , ve
end
betik bloğunabegin
process
eş olarak blok ekleyinclean
(#15177) - Cmdlet'e
Get-CimClass
anahtar ekleme-Amended
(#17477) (Teşekkürler@iSazonov) - Sıralı karma tablo kullanacak şekilde değiştirildi
ConvertFrom-Json -AsHashtable
(#17405) - göndermeden
Out-GridView
önce dizelerdeki ANSI kaçış dizileri kaldırıldı (#17664) - (#17621) öğesine
New-TimeSpan
Milisaniye parametresi eklendi (Teşekkürler@NoMoreFood!) - Yöntem tanımlarını ve aşırı yüklemelerini görüntülerken isteğe bağlı parametreleri göster (#13799) (Teşekkürler @eugenesmlv!)
- Geçerli çalışma dizini artık mevcut olmasa bile komutların yürütülmesine izin ver (#17579)
- (#16134) ile
Set-AuthenticodeSignature -TimeStampServer
HTTPS desteği ekleme (Teşekkürler@Ryan-Hutchison-USAF!) - Geçerli kültürü kullanarak tablodaki ondalık sayıları işleme (#17650)
- OrderedDictionary için sıralı tür hızlandırıcısı ekleme (#17804) (Teşekkürler@fflaten!)
- Windows için eski bağımsız değişken bağlama davranışına ekleme
find.exe
(#17715) - pwsh'ye anahtar ekleme
-noprofileloadtime
(#17535) (Teşekkürler @rkeithhill!)
Değişikliklerin tam listesi için GitHub deposundaki Değişiklik Günlüğü'ne bakın.
Deneysel Özellikler
PowerShell 7.3'te aşağıdaki deneysel özellikler temel bir hal aldı:
PSAnsiRenderingFileInfo
- Bu özellik üyeyi$PSStyle.FileInfo
ekler ve belirli dosya türlerinin renklendirilmesine olanak tanır.PSCleanBlock
- Kolay kaynak temizlemeye izin vermek içinbegin
process
, veend
için eş olarak betik bloğuna blok eklerclean
.PSAMSIMethodInvocationLogging
- .NET yöntemi üyelerinin tüm çağrılarını içerecek şekilde, inceleme için AMSI'ye gönderilen verileri genişletir.PSNativeCommandArgumentPassing - PowerShell artık yerel yürütülebilir dosyayı çağırırken dizeyi yeniden oluşturmanın eski mekanizması yerine StartProcessInfo nesnesinin ArgumentList özelliğini kullanıyor.
PowerShell 7.3.1, Windows'ta bağımsız değişken geçirme stilini kullanan
Legacy
yerel komutlar listesine eklersqlcmd.exe
.PSExec
- Windows dışı sistemler için uyumluluk sağlamakexec
için yeniSwitch-Process
cmdlet'i (diğer adexec
) ekler.PowerShell 7.3.1, diğer adı ile sarmalayan
Switch-Process
bir işlev olarak değiştirdiexec
. işlevi, yanlışlıkla WithCommand parametresine bağlı olabilecek yerel komuta parametre geçirmenizi sağlar.
PowerShell 7.3 aşağıdaki deneysel özellikleri sunar:
- PSNativeCommandErrorActionPreference - Yerel komutlar tarafından oluşturulan hataların PowerShell hataları olmasını sağlamak için değişkenini ekler
$PSNativeCommandUseErrorActionPreference
.
PowerShell 7.3 aşağıdaki deneysel özellikleri kaldırdı:
PSNativePSPathResolution
deneysel özellik artık desteklenmiyor.PSStrictModeAssignment
deneysel özellik artık desteklenmiyor.
Deneysel Özellikler hakkında daha fazla bilgi için bkz . Deneysel Özellikleri Kullanma.
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin