Apa yang Baru di PowerShell 7.4 (pratinjau)
PowerShell 7.4-preview.2 menyertakan fitur, pembaruan, dan perubahan yang melanggar berikut. PowerShell 7.4 sekarang dibangun di .NET 8.0.0-preview.2.
Untuk daftar lengkap perubahan, lihat Log Perubahan di repositori GitHub.
Perubahan mencolok
- Gambar docker server nano tidak tersedia untuk rilis ini
- Menambahkan parameter ProgressAction ke parameter umum
- Perbarui beberapa API PowerShell untuk melempar ArgumentException alih-alih ArgumentNullException ketika argumen adalah string kosong (#19215) (Terima kasih @xtqqczze!)
Pembaruan alat penginstal
Paket MSI Windows sekarang menyediakan opsi untuk menonaktifkan telemetri PowerShell selama penginstalan. Untuk informasi selengkapnya, lihat Menginstal paket msi dari baris perintah.
Peningkatan penyelesaian tab
Banyak terima kasih kepada @MartinGC94 untuk semua pekerjaan dalam meningkatkan penyelesaian tab.
- Memperbaiki masalah saat menyelesaikan perintah pertama dalam skrip dengan ekspresi array kosong ([#18355)
- Memperbaiki penyelesaian argumen posisi (#17796)
- Prioritaskan kumpulan parameter default saat menyelesaikan argumen posisi (#18755)
- Meningkatkan pengikatan pseudo untuk parameter dinamis (#18030)
- Meningkatkan inferensi jenis kunci hashtable (#17907)
- Memperbaiki kesalahan inferensi jenis untuk pernyataan pengembalian kosong (#18351)
- Meningkatkan inferensi jenis untuk Get-Random (#18972)
- Memperbaiki inferensi jenis untuk semua variabel cakupan (#18758)
- Meningkatkan enumerasi jenis yang disimpulkan dalam alur (#17799)
- Menambahkan penyelesaian untuk nilai dalam perbandingan saat membandingkan Enum (#17654)
- Menambahkan penyelesaian penetapan properti untuk enum (#19178)
- Memperbaiki penyelesaian untuk properti variabel PSCustomObject (#18682)
- Memperbaiki penyelesaian anggota dalam argumen atribut (#17902)
- Memperbaiki penyelesaian anggota kelas untuk kelas dengan jenis dasar (#19179)
- Menambahkan penyelesaian untuk Menggunakan kata kunci (#16514)
Peningkatan cmdlet dan mesin
Perbarui ke cmdlet Web - Banyak berkat @CarloToso untuk semua pekerjaan dalam meningkatkan cmdlet web.
- Cmdlet web mendapatkan interval Coba Lagi Setelah dari header respons jika kode status adalah 429 (#18717)
- Cmdlet web mengatur pengodean charset default ke UTF8 (#18219)
- Mempertahankan WebSession.MaximumRedirection dari perubahan (#19190)
- WebCmdlets mengurai deklarasi XML untuk mendapatkan nilai pengodean, jika ada. (#18748)
- Memperbaiki menggunakan xml -Body di webcmdlets tanpa pengodean (#19281)
- Menyesuaikan perilaku metode PUT ke POST one untuk tipe konten default di WebCmdlets (#19152)
- Mempertimbangkan ContentType dari Header di WebCmdlets (#19227)
- Izinkan untuk mempertahankan metode HTTP asli dengan menambahkan -PreserveHttpMethodOnRedirect ke cmdlet Web (#18894)
- Webcmdlets menampilkan kesalahan pada pengalihan https ke http (#18595)
- Menambahkan sakelar AllowInsecureRedirect ke cmdlet Web (#18546)
- Meningkatkan pesan verbose di cmdlet web ketika panjang konten tidak diketahui (#19252)
- Bangun URI relatif untuk tautan dari respons di Invoke-WebRequest (#19092)
- Memperbaiki pengalihan untuk -CustomMethod POST di WebCmdlets (#19111)
- Buang respons sebelumnya di Webcmdlets (#19117)
- Meningkatkan format kesalahan xml dan json Invoke-WebRequest (#18837)
- Tambahkan parameter ValidateNotNullOrEmpty ke Parameter OutFile dan InFile webCmdlets (#19044)
- Daftar header pembaruan HttpKnownHeaderNames (#18947)
- Invoke-RestMethod -FollowRelLink memperbaiki tautan yang berisi koma (#18829)
- Memperbaiki bug dengan mengelola pengalihan dan KeepAuthorization di cmdlet Web (#18902)
- Menambahkan StatusCode ke HttpResponseException (#18842)
- Mendukung koneksi persisten HTTP di Web Cmdlets (#19249) (Terima kasih @stevenebutler!)
Cmdlet lainnya
- Tambahkan parameter Path dan LiteralPath ke
Test-Json
cmdlet (#19042) (Terima kasih @ArmaanMcleod!) - Tambahkan parameter NoHeader ke
ConvertTo-Csv
danExport-Csv
cmdlet (#19108) (Terima kasih @ArmaanMcleod!) - Tambahkan parameter Confirm dan WhatIf ke
Stop-Transcript
(#18731) (Terima kasih @JohnLBevan!) - Menambahkan parameter FuzzyMinimumDistance ke
Get-Command
(#18261) - Membuat parameter Pengodean dapat mengambil
ANSI
pengodean di PowerShell (#19298) (Terima kasih @CarloToso!) - Menambahkan kemajuan ke
Copy-Item
(#18735) Update-Help
sekarang melaporkan kesalahan saat menggunakan budaya implisit pada sistem non-AS. (#17780) (Terima kasih @dkaszews!)
Updates ke$PSStyle
- Menambahkan properti Dim dan DimOff (#18653)
- Menambahkan metode statis ke kelas PSStyle yang memetakan nilai ConsoleColor latar depan dan latar belakang ke urutan escape ANSI (#17938)
- Properti pemformatan baru ditambahkan oleh fitur eksperimental
Pembaruan Mesin Lainnya
- Membuat kelas PowerShell tidak berafiliasi dengan Runspace saat mendeklarasikan
NoRunspaceAffinity
atribut (#18138) ValidateNotNullOrWhiteSpace
Tambahkan atribut (#17191) (Terima kasih@wmentha!)- Tambahkan
sqlcmd
ke daftar untuk meneruskan argumen warisan (#18559) - Tambahkan fungsi
cd~
(#18308) (Terima kasih @GigaScratch!)
Fitur Eksperimental
PowerShell 7.4 memperkenalkan fitur eksperimental berikut:
- PSCustomTableHeaderLabelDecoration - Tambahkan diferensiasi pemformatan untuk label header tabel yang bukan anggota properti.
- Fitur ini juga menambahkan properti CustomTableHeaderLabel ke
$PSStyle.Formatting
yang memungkinkan Anda mengubah pemformatan label header.
- Fitur ini juga menambahkan properti CustomTableHeaderLabel ke
- PSFeedbackProvider - Mengganti kerangka kerja saran yang dikodekan secara permanen dengan penyedia umpan balik yang dapat diperluas.
- Fitur ini juga menambahkan properti FeedbackProvider dan FeedbackText ke
$PSStyle.Formatting
yang memungkinkan Anda mengubah pemformatan pesan umpan balik.
- Fitur ini juga menambahkan properti FeedbackProvider dan FeedbackText ke
- PSModuleAutoLoadSkipOfflineFiles - Penemuan modul sekarang melewati file yang ditandai oleh penyedia cloud sebagai tidak sepenuhnya pada disk.
- PSCommandWithArgs - Menambahkan dukungan untuk meneruskan argumen ke perintah sebagai string tunggal
PowerShell 7.4 mengubah fitur eksperimental berikut:
- PSNativeCommandErrorActionPreference -
$PSNativeCommandUseErrorActionPreference
diatur ke$true
ketika fitur diaktifkan (#18695) - PSCommandNotFoundSuggestion - Fitur ini sekarang menggunakan penyedia umpan balik yang dapat diperluas daripada saran yang dikodekan secara permanen (#18726)
Untuk informasi selengkapnya tentang Fitur Eksperimental, lihat Menggunakan Fitur Eksperimental.