Udostępnij za pośrednictwem


Co nowego w programie PowerShell 7.2

PowerShell 7.2 to kolejna wersja długoterminowego wsparcia (LTS) oparta na .NET 6.0.

Program PowerShell 7.2 zawiera następujące funkcje, aktualizacje i zmiany powodujące niezgodność.

  • Nowe uniwersalne pakiety instalatora dla najbardziej obsługiwanych dystrybucji systemu Linux
  • Obsługa usługi Microsoft Update w systemie Windows
  • 2 nowe funkcje eksperymentalne
    • Ulepszona obsługa przekazywania argumentów poleceń natywnych
    • Wsparcie dla kolorów FileInfo ANSI
  • Ulepszone uzupełnianie za pomocą klawisza Tab
  • PsReadLine 2.1 z predykcyjną funkcją IntelliSense
  • 7 funkcji eksperymentalnych promowanych do głównego nurtu i 1 usuniętych
  • Oddzielenie modułu DSC od PowerShell 7 w celu umożliwienia przyszłych ulepszeń
  • Kilka znaczących zmian w celu poprawy użyteczności

Aby uzyskać pełną listę zmian, sprawdź Dziennik zmian w repozytorium GitHub.

Aktualizacje instalacji

Zapoznaj się z instrukcjami dotyczącymi instalacji preferowanego systemu operacyjnego:

Ponadto program PowerShell 7.2 obsługuje wersje arm64 systemów Windows i macOS oraz ARM32 i ARM64 w systemach Debian i Ubuntu.

Aby uzyskać up-to— informacje o obsługiwanych systemach operacyjnych i cyklu życia pomocy technicznej, zobacz Cykl wsparcia programu PowerShell.

Nowe pakiety instalacji uniwersalnej dla dystrybucji systemu Linux

Wcześniej utworzyliśmy oddzielne pakiety instalatora dla każdej obsługiwanej wersji systemów CentOS, RHEL, Debian i Ubuntu. Pakiet uniwersalny instalatora łączy osiem różnych pakietów w jeden, dzięki czemu instalacja w systemie Linux jest prostsza. Pakiet uniwersalny instaluje niezbędne zależności dla dystrybucji docelowej i tworzy zmiany specyficzne dla platformy, aby umożliwić działanie programu PowerShell.

Obsługa usługi Microsoft Update dla systemu Windows

Program PowerShell 7.2 dodaje obsługę usługi Microsoft Update. Po włączeniu tej funkcji uzyskasz najnowsze aktualizacje programu PowerShell 7 w tradycyjnym przepływie zarządzania usługi Windows Update (WU), niezależnie od tego, czy dotyczy to usługi Windows Update dla firm, WSUS, SCCM, czy interaktywnego okna dialogowego WU w ustawieniach.

Pakiet MSI programu PowerShell 7.2 zawiera następujące opcje wiersza polecenia:

  • USE_MU — ta właściwość ma dwie możliwe wartości:
    • 1 (ustawienie domyślne) — wyraża zgodę na aktualizowanie za pośrednictwem usługi Microsoft Update lub WSUS
    • 0 — nie zezwalaj na aktualizowanie za pośrednictwem usługi Microsoft Update lub WSUS
  • ENABLE_MU
    • 1 (ustawienie domyślne) — wyraża zgodę na korzystanie z usługi Microsoft Update aktualizacji automatycznych lub usługi Windows Update
    • 0 — nie zezwalaj na korzystanie z usługi Microsoft Update aktualizacji automatycznych ani usługi Windows Update

Funkcje eksperymentalne

Następujące funkcje eksperymentalne są teraz głównymi funkcjami w tej wersji:

  • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck — zobacz Import-PowerShellDataFile
  • Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
  • PSAnsiRendering — zobacz o_terminalach_ANSI
  • PSAnsiProgress — zobacz about_ANSI_Terminals
  • PSCultureInvariantReplaceOperator
  • PSNotApplyErrorActionToStderr
  • PSUnixFileStat

W tej wersji dodano następującą funkcję eksperymentalną:

  • PSNativeCommandArgumentPassing — gdy ta funkcja eksperymentalna jest włączona, program PowerShell używa właściwości ArgumentList obiektu StartProcessInfo, a nie naszego bieżącego mechanizmu rekonstrukcji ciągu podczas wywoływania natywnego pliku wykonywalnego. Ta funkcja dodaje nową zmienną automatyczną $PSNativeCommandArgumentPassing, która pozwala wybrać zachowanie w czasie wykonywania.

  • PSAnsiRenderingFileInfo — umożliwia dostosowywanie kolorów ANSI informacji o pliku.

  • PSLoadAssemblyFromNativeCode — udostępnia interfejs API, aby umożliwić ładowanie asemblii z kodu natywnego.

Aby uzyskać więcej informacji na temat funkcji eksperymentalnych, zobacz Using Experimental Features.

Ulepszone uzupełnianie za pomocą klawisza Tab

PowerShell 7.2 zawiera kilka ulepszeń uzupełniania za pomocą tabulatora. Zmiany obejmują poprawki usterek i zwiększają użyteczność.

  • Napraw uzupełnianie zakładki dla nielokalizowanych tematów o* (#15265) (Dziękujemy, @MartinGC94))
  • Naprawiono rozplatanie traktowane jako parametr pozycyjny w zakończeniach (#14623) (Dzięki @MartinGC94)
  • Dodaj uzupełnienia dla słów kluczowych pomocy opartych na komentarzach (#15337) (Podziękowania @MartinGC94))
  • Dodaj autouzupełnianie dla instrukcji "requires" (#14596) (Dzięki @MartinGC94))
  • Dodano uzupełnianie tabulatorem dla parametru 'View' w poleceniach cmdlet Format-* (#14513) (Podziękowania dla @iSazonov))

Funkcja IntelliSense predykcyjna psReadLine 2.1

Program PSReadLine 2.1 wprowadził interfejsy API CommandPrediction, które ustanawiają platformę do dostarczania przewidywań dotyczących uzupełniania wiersza polecenia. Interfejs API umożliwia użytkownikom odnajdywanie, edytowanie i wykonywanie pełnych poleceń na podstawie pasujących przewidywań z historii użytkownika.

Predykcyjna funkcja IntelliSense jest domyślnie wyłączona. Aby włączyć przewidywania, uruchom następujące polecenie:

Set-PSReadLineOption -PredictionSource History

Oddzielenie komponentu DSC od programu PowerShell 7 w celu umożliwienia przyszłych ulepszeń

Moduł PSDesiredStateConfiguration został usunięty z pakietu programu PowerShell 7.2 i jest teraz publikowany w galerii programu PowerShell. Dzięki temu moduł PSDesiredStateConfiguration można opracowywać niezależnie od programu PowerShell, a użytkownicy mogą mieszać i dopasowywać wersje programu PowerShell i PSDesiredStateConfiguration dla środowiska. Aby zainstalować program PSDesiredStateConfiguration 2.0.5 z galerii programu PowerShell:

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

Ważny

Pamiętaj, aby uwzględnić parametr MaximumVersion, w przeciwnym razie możesz zainstalować wersję 3 (lub nowszą) PSDesireStateConfiguration, która zawiera istotne różnice.

Aktualizacje aparatu

  • Dodaj funkcję LoadAssemblyFromNativeMemory do ładowania zestawów w pamięci z natywnego hosta PowerShell przez awakecoding · Żądanie ściągnięcia #14652

Istotne zmiany i ulepszenia

  • Konfiguracja PSDesiredStateConfiguration została usunięta z pakietu programu PowerShell 7.2
  • Tworzenie uniwersalnych pakietów deb i RPM programu PowerShell dla systemu Linux (#15109)
  • Eksperymentalna funkcja PSNativeCommandArgumentPassing: użyj ArgumentList do wywoływania natywnego pliku wykonywalnego (#14692)
  • Upewnij się, że -PipelineVariable jest ustawiona dla wszystkich wyjściowych cmdletów skryptu (#12766)
  • Emituj ostrzeżenie, jeśli ConvertTo-Json przekracza wartość -Depth (#13692)
  • Usuń alias D z przełącznika -Directory CL-General #15171
  • Ulepszanie wykrywania typów wartości modyfikowalnej (#12495)
  • Ogranicz w trybie NoLanguage pod blokadą w (#14140)
  • Wymuszanie konfiguracji odmowy AppLocker przed konfiguracją obejścia zasad wykonywania (#15035)
  • Zmień FileSystemInfo.Target z CodeProperty na AliasProperty wskazującą FileSystemInfo.LinkTarget (#16165)