Co nowego w programie PowerShell 7.2

Program PowerShell 7.2 to kolejna wersja long term servicing (LTS) oparta na platformie .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
    • Obsługa kolorów ANSI FileInfo
  • Ulepszone uzupełnianie kart
  • PsReadLine 2.1 z predykcyjną funkcją IntelliSense
  • 7 funkcji eksperymentalnych promowanych do głównego nurtu i 1 usuniętych
  • Oddzielenie rozszerzenia DSC od programu PowerShell 7 w celu włączenia przyszłych ulepszeń
  • Kilka zmian powodujących niezgodność w celu zwiększenia użyteczności

Aby uzyskać pełną listę zmian, zobacz 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ć aktualne 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 jest to windows Update dla firm, WSUS, SCCM, czy interaktywne okno dialogowe jednostki WU w Ustawienia.

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 automatycznej Aktualizacje lub Windows Update
    • 0— nie zezwalaj na korzystanie z usługi Microsoft Update automatycznej Aktualizacje lub 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 about_ANSI_Terminals
  • 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ą $PSNativeCommandArgumentPassing automatyczną, która umożliwia wybranie zachowania w czasie wykonywania.

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

  • PSLoadAssemblyFromNativeCode — uwidacznia interfejs API, aby umożliwić ładowanie zestawu z kodu natywnego.

Aby uzyskać więcej informacji na temat funkcji eksperymentalnych, zobacz Używanie funkcji eksperymentalnych.

Ulepszone uzupełnianie kart

Program PowerShell 7.2 zawiera kilka ulepszeń uzupełniania kart. Te zmiany obejmują poprawki usterek i zwiększyć użyteczność.

  • Naprawianie uzupełniania kart dla nielokalizowanych tematów* (#15265) (Dziękujemy) @MartinGC94)
  • Naprawiono rozplatanie traktowane jako parametr pozycyjny w zakończeniach (#14623) (Dzięki @MartinGC94)
  • Dodawanie uzupełniania słów kluczowych pomocy opartych na komentarzach (#15337) (dziękujemy) @MartinGC94)
  • Dodawanie uzupełniania dla instrukcji Wymaga (#14596) (dziękujemy) @MartinGC94)
  • Dodano uzupełnianie tabulacji dla parametru View poleceń cmdlet Format-* (#14513) (Dziękujemy) @iSazonov)

Funkcja IntelliSense predykcyjna psReadLine 2.1

PsReadLine 2.1 wprowadziła CommandPrediction interfejsy API, które ustanawiają platformę do dostarczania przewidywań na potrzeby 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 rozszerzenia DSC od programu PowerShell 7 w celu włączenia przyszłych ulepszeń

Moduł PSDesiredStateConfiguration został usunięty z pakietu programu PowerShell 7.2 i jest teraz publikowany w Galeria 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ć plik PSDesiredStateConfiguration 2.0.5 z Galeria programu PowerShell:

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

Ważne

Pamiętaj, aby uwzględnić parametr MaximumVersion lub zainstalować wersję 3 (lub nowszą) psDesireStateConfiguration, która zawiera istotne różnice.

Aktualizacje aparatu

  • Dodawanie LoadAssemblyFromNativeMemory funkcji do ładowania zestawów w pamięci z natywnego hosta programu PowerShell przez awacoding · Żą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)
  • Funkcja eksperymentalna: użyj argumentlist PSNativeCommandArgumentPassingw przypadku wywołania natywnego pliku wykonywalnego (#14692)
  • Upewnij się, że -PipelineVariable ustawiono wszystkie dane wyjściowe poleceń cmdlet skryptu (#12766)
  • Emituj ostrzeżenie, jeśli ConvertTo-Json przekracza wartość -Głębokość (#13692)
  • Usuń alias D przełącznika katalogu CL-General #15171
  • Ulepszanie wykrywania typów wartości modyfikowalnej (#12495)
  • Ogranicz New-Object w trybie NoLanguage pod blokadą (#14140)
  • Wymuszanie konfiguracji odmowy funkcji AppLocker przed obejściem zasad wykonywania konfiguracji (#15035)
  • Zmień FileSystemInfo.Target właściwość codeproperty na aliasProperty wskazującą wartość FileSystemInfo.LinkTarget (#16165)