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 WSUS0
— 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 Update0
— 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-PowerShellDataFileMicrosoft.PowerShell.Utility.PSManageBreakpointsInRunspace
PSAnsiRendering
- zobacz about_ANSI_TerminalsPSAnsiProgress
- zobacz about_ANSI_TerminalsPSCultureInvariantReplaceOperator
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
PSNativeCommandArgumentPassing
w 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)
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla