Apa yang Baru di PowerShell 7.2

PowerShell 7.2 adalah rilis Long Term Servicing (LTS) berikutnya yang dibangun di .NET 6.0.

PowerShell 7.2 menyertakan fitur, pembaruan, dan perubahan yang melanggar berikut ini.

  • Paket alat penginstal universal baru untuk distribusi Linux yang paling didukung
  • Dukungan Microsoft Update di Windows
  • 2 fitur eksperimental baru
    • Dukungan meneruskan argumen perintah asli yang disempurnakan
    • Dukungan warna ANSI FileInfo
  • Penyelesaian Tab yang Disempurnakan
  • PSReadLine 2.1 dengan Predictive IntelliSense
  • 7 fitur eksperimental yang dipromosikan ke mainstream dan 1 dihapus
  • Memisahkan DSC dari PowerShell 7 untuk mengaktifkan peningkatan di masa mendatang
  • Beberapa perubahan yang melanggar untuk meningkatkan kegunaan

Untuk daftar lengkap perubahan, lihat Log Perubahan di repositori GitHub.

Pembaruan penginstalan

Periksa instruksi penginstalan untuk sistem operasi pilihan Anda:

Selain itu, PowerShell 7.2 mendukung Versi ARM64 Dari Windows dan macOS serta ARM32 dan ARM64 versi Debian dan Ubuntu.

Untuk informasi terbaru tentang sistem operasi yang didukung dan siklus hidup dukungan, lihat Siklus Hidup Dukungan PowerShell.

Paket penginstalan universal baru untuk distribusi Linux

Sebelumnya, kami membuat paket alat penginstal terpisah untuk setiap versi CentOS, RHEL, Debian, dan Ubuntu yang didukung. Paket alat penginstal universal menggabungkan delapan paket yang berbeda menjadi satu, sehingga penginstalan di Linux lebih sederhana. Paket universal menginstal dependensi yang diperlukan untuk distribusi target dan membuat perubahan khusus platform untuk membuat PowerShell berfungsi.

Dukungan Microsoft Update untuk Windows

PowerShell 7.2 menambahkan dukungan untuk Microsoft Update. Saat mengaktifkan fitur ini, Anda akan mendapatkan pembaruan PowerShell 7 terbaru dalam alur manajemen Windows Update (WU) tradisional Anda, baik itu dengan Windows Update for Business, WSUS, SCCM, atau dialog WU interaktif di Pengaturan.

Paket MSI PowerShell 7.2 menyertakan opsi baris perintah berikut:

  • USE_MU - Properti ini memiliki dua nilai yang mungkin:
    • 1 (default) - Memilih memperbarui melalui Pembaruan Microsoft atau WSUS
    • 0 - jangan memilih untuk memperbarui melalui Microsoft Update atau WSUS
  • ENABLE_MU
    • 1 (default) - Memilih menggunakan Pembaruan Microsoft Pembaruan Otomatis atau Pembaruan Windows
    • 0 - jangan ikut serta menggunakan Pembaruan Microsoft Pembaruan Otomatis atau Pembaruan Windows

Fitur Eksperimental

Fitur eksperimental berikut sekarang menjadi fitur utama dalam rilis ini:

Fitur eksperimental berikut ditambahkan dalam rilis ini:

  • PSNativeCommandArgumentPassing - Ketika fitur eksperimental ini diaktifkan PowerShell menggunakan properti ArgumentList dari objek StartProcessInfo daripada mekanisme rekonstruksi string kami saat ini saat memanggil executable asli. Fitur ini menambahkan variabel $PSNativeCommandArgumentPassing otomatis baru yang memungkinkan Anda memilih perilaku saat runtime.

  • PSAnsiRenderingFileInfo - Izinkan penyesuaian warna ANSI informasi file.

  • PSLoadAssemblyFromNativeCode - Mengekspos API untuk memungkinkan pemuatan rakitan dari kode asli.

Untuk informasi selengkapnya tentang Fitur Eksperimental, lihat Menggunakan Fitur Eksperimental.

Penyelesaian Tab yang Disempurnakan

PowerShell 7.2 menyertakan beberapa penyempurnaan pada Penyelesaian Tab. Perubahan ini termasuk bugfix dan meningkatkan kegunaan.

  • Perbaiki penyelesaian tab untuk topik yang tidak dilokalkan tentang* (#15265) (Terima kasih @MartinGC94)
  • Memperbaiki splatting yang diperlakukan sebagai parameter posisi dalam penyelesaian (#14623) (Terima kasih @MartinGC94)
  • Menambahkan penyelesaian untuk kata kunci bantuan berbasis komentar (#15337) (Terima kasih @MartinGC94)
  • Tambahkan penyelesaian untuk memerlukan pernyataan (#14596) (Terima kasih @MartinGC94)
  • Menambahkan penyelesaian tab untuk Lihat parameter cmdlet Format-* (#14513) (Terima kasih @iSazonov)

PSReadLine 2.1 Predictive IntelliSense

PSReadLine 2.1 memperkenalkan CommandPrediction API yang membuat kerangka kerja untuk menyediakan prediksi untuk penyelesaian baris perintah. API memungkinkan pengguna untuk menemukan, mengedit, dan menjalankan perintah penuh berdasarkan prediksi yang cocok dari riwayat pengguna.

IntelliSense prediktif dinonaktifkan secara default. Untuk mengaktifkan prediksi, jalankan perintah berikut:

Set-PSReadLineOption -PredictionSource History

Memisahkan DSC dari PowerShell 7 untuk mengaktifkan peningkatan di masa mendatang

Modul PSDesiredStateConfiguration dihapus dari paket PowerShell 7.2 dan sekarang diterbitkan ke Galeri PowerShell. Ini memungkinkan modul PSDesiredStateConfiguration dikembangkan secara independen dari PowerShell dan pengguna dapat mencampur dan mencocokkan versi PowerShell dan PSDesiredStateConfiguration untuk lingkungan mereka. Untuk menginstal PSDesiredStateConfiguration 2.0.5 dari Galeri PowerShell:

Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99

Penting

Pastikan untuk menyertakan parameter MaximumVersion atau Anda dapat menginstal PSDesireStateConfiguration versi 3 (atau lebih tinggi) yang berisi perbedaan signifikan.

Pembaruan mesin

  • Tambahkan LoadAssemblyFromNativeMemory fungsi untuk memuat rakitan dalam memori dari host PowerShell asli dengan membangunkan ยท Permintaan Pull #14652

Perubahan dan Penyempurnaan Yang Melanggar

  • PSDesiredStateConfiguration dihapus dari paket PowerShell 7.2
  • Membuat paket PowerShell Linux deb dan RPM universal (#15109)
  • Fitur PSNativeCommandArgumentPassingeksperimental : Gunakan ArgumentList untuk pemanggilan native executable (#14692)
  • Pastikan -PipelineVariable diatur untuk semua output dari cmdlet skrip (#12766)
  • Keluarkan peringatan jika ConvertTo-Json melebihi -Nilai kedalaman (#13692)
  • Hapus alias D dari -Directory switch CL-General #15171
  • Meningkatkan deteksi jenis nilai yang dapat diubah (#12495)
  • Batasi New-Object dalam mode NoLanguage di bawah penguncian (#14140)
  • Menerapkan konfigurasi Tolak AppLocker sebelum konfigurasi Bypass Kebijakan Eksekusi (#15035)
  • Ubah FileSystemInfo.Target dari CodeProperty menjadi AliasProperty yang menunjuk ke FileSystemInfo.LinkTarget (#16165)