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)