Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Program PowerShell 7.3 to kolejna stabilna wersja oparta na platformie .NET 7.0.
Program PowerShell 7.3 zawiera następujące funkcje, aktualizacje i zmiany powodujące niezgodność.
Istotne zmiany i ulepszenia
- W tej wersji interfejsy API systemu Windows zostały zaktualizowane lub usunięte pod kątem zgodności, co oznacza, że program PowerShell 7.3 nie działa w systemie Windows 7. Chociaż system Windows 7 nie jest już obsługiwany, poprzednie kompilacje mogą działać w systemie Windows 7.
- Program PowerShell Direct dla funkcji Hyper-V jest obsługiwany tylko w systemie Windows 10 w wersji 1809 lub nowszej.
-
Test-Connectionnie działa z powodu zamierzonej zmiany powodującej niekompatybilność w .NET 7. Jest śledzony przez #17018 - Dodaj
cleanblok do bloku skryptu jako element równorzędny dobegin,processiend, aby umożliwić łatwe czyszczenie zasobów (#15177) - Zmień wartość domyślną na
$PSStyle.OutputRenderingHost - Spraw, aby
Out-StringiOut-Filezachowały niezmieniony ciąg wejściowy (#17455) - Przenieś definicję danych typu System.Security.AccessControl.ObjectSecurity do modułu Microsoft.PowerShell.Security (#16355) (dziękujemy)@iSazonov!)
- Przed tą zmianą użytkownik nie musi jawnie importować modułu Microsoft.PowerShell.Security , aby użyć właściwości kodu zdefiniowanych dla wystąpienia elementu System.Security.AccessControl.ObjectSecurity.
- Po tej zmianie użytkownik musi jawnie zaimportować moduł Microsoft.PowerShell.Security , aby użyć tych właściwości kodu i metod kodu.
Ulepszenia uzupełniania kart
- Program PowerShell 7.3 zawiera program PSReadLine 2.2.6, który domyślnie włącza funkcję IntelliSense predykcyjną. Aby uzyskać więcej informacji, zobacz about_PSReadLine.
- Naprawiono uzupełnianie tabulatorów w bloku skryptu określonym dla
ValidateScriptAttribute. (#14550) (Dziękujemy)@MartinGC94!) - Dodano uzupełnianie kart dla etykiet pętli po
break/continue(#16438) (Dzięki@MartinGC94!) - Ulepszenie uzupełniania tabeli skrótów w wielu scenariuszach (#16498) (Dzięki @MartinGC94!)
- Rozplatanie parametrów
-
Parametr argumentów dla
Invoke-CimMethod -
FilterHashtable parametr dla
Get-WinEvent - Parametr właściwości dla cmdletów CIM
- Usuwa duplikaty ze scenariuszy ukończenia elementów
- Obsługa ukośników w ramach uzupełniania udziału sieciowego (ścieżka UNC) (#17111) (Dzięki@sba923!)
- Ulepszyć autouzupełnianie członków (#16504) (Dziękujemy @MartinGC94!))
- Należy priorytetyzować uzupełnianie ValidateSet nad Enum dla parametrów (#15257) (Dzięki@MartinGC94!))
- Dodano obsługę wnioskowania typów dla metod ogólnych z parametrami typu (#16951) (Dzięki@MartinGC94!)
- Ulepsz wnioskowanie typu i uzupełnianie (#16963) (Dzięki< c1 />
- Umożliwia pokazywanie metod w wynikach uzupełniania dla
ForEach-Object -MemberName - Zapobiega uzupełnianiu w wyrażeniach, które zwracają wartość void, na przykład
([void]("")) - Zezwala konstruktorom klasy innej niż domyślna na wyświetlanie, gdy uzupełnianie klasy jest oparte na AST
- Umożliwia pokazywanie metod w wynikach uzupełniania dla
- Poprawa wnioskowania typów dla
$_(#17716) (Dzięki @MartinGC94!)) - Poprawiono wnioskowanie typu dla ICollection (#17752) (Dzięki@MartinGC94!)
- Zapobiegaj usuwaniu nawiasów klamrowych podczas kończenia zmiennych (#17751) (Dzięki@MartinGC94!)
- Dodawanie uzupełniania dla wyrażeń indeksu dla słowników (#17619) (Dzięki @MartinGC94!)
- Poprawiono uzupełnianie typu dla tokenów atrybutów (#17484) (Dziękujemy@MartinGC94!))
- Ulepszanie uzupełniania kart parametrów dynamicznych (#17661) (dziękujemy)@MartinGC94!)
- Unikaj wiązania parametrów pozycyjnych podczas uzupełniania parametru przed wartością (#17693) (Dzięki @MartinGC94!))
Ulepszono obsługę błędów
- Ustaw
$?poprawnie dla wyrażenia polecenia z przekierowaniami (#16046) - Napraw błąd rzutowania podczas używania
$PSNativeCommandUseErrorActionPreference(#15993) - Opcjonalne honorowanie
ErrorActionPreferencenatywnej obsługi błędów poleceń (#15897) - Określ ścieżkę wykonywalną jako
TargetObjectdla kodu zakończenia innego niż zero ErrorRecord (#16108) (Dzięki @rkeithhill!))
Ulepszenia sesji i zdalnego dostępu
- Dodaj
-Optionsdo poleceń PSRP przez SSH, aby umożliwić bezpośrednie przekazywanie opcji OpenSSH (#12802) (Dzięki @BrannenGH!)) - Dodaj parametr
-ConfigurationFiledopwsh, aby umożliwić rozpoczęcie nowego procesu z konfiguracją sesji zdefiniowaną w pliku.pssc(#17447). - Dodano obsługę używania
New-PSSessionConfigurationFilena platformach innych niż Windows (#17447)
Zaktualizowane polecenia cmdlet
- Dodaj
-HttpVersionparametr do poleceń cmdlet sieci Web (#15853) (Dziękujemy @hayhay27!)) - Dodano obsługę poleceń cmdlet sieci Web dla otwartych tagów wejściowych (#16193) (Dzięki @farmerau!))
- Poprawka
ConvertTo-Json -Depthumożliwiająca maksymalną wartość 100 (#16197) (dzięki@KevRitchie!) - Ulepsz obsługę zmiennych podczas wywoływania
Invoke-Commandza pomocą wyrażenia$Using:(#16113) dzięki @dwtaber!) - Dodaj
-StrictModedoInvoke-Commandaby określić tryb ścisły podczas wywoływania polecenia lokalnie (#16545) Dzięki @Thomas-Yu!) - Dodaj blok
cleando bloku skryptu jako równorzędny zbegin,processiendw celu umożliwienia łatwego czyszczenia zasobów (#15177) - Dodawanie
-Amendedprzełącznika doGet-CimClasspolecenia cmdlet (#17477) (Dziękujemy)@iSazonov) - Zmieniono
ConvertFrom-Json -AsHashtable, aby użyć uporządkowanej tabeli skrótu (#17405) - Usunięto sekwencje ucieczki ANSI w ciągach przed wysłaniem do
Out-GridView(#17664) -
Dodano parametr Milliseconds do
New-TimeSpan(#17621) (Dziękujemy)@NoMoreFood!) - Pokaż parametry opcjonalne podczas wyświetlania definicji metod i przeciążeń (#13799) (Dzięki@eugenesmlv!)
- Zezwalaj na wykonywanie poleceń, nawet jeśli bieżący katalog roboczy już nie istnieje (#17579)
- Dodano obsługę protokołu HTTPS z
Set-AuthenticodeSignature -TimeStampServer(#16134) (dziękujemy @Ryan-Hutchison-USAF!)) - Wyświetl liczby dziesiętne w tabeli przy użyciu bieżącej kultury (#17650)
- Dodano uporządkowany akcelerator typów dla OrderedDictionary (#17804) (dzięki@fflaten!)
- Dodaj
find.exedo zachowania powiązania argumentów w systemie Windows (#17715) - Dodaj
-NoProfileLoadTimeprzełącznik do pwsh (#17535) (Dziękujemy @rkeithhill!))
Aby uzyskać pełną listę zmian, zobacz Dziennik zmian w repozytorium GitHub.
Funkcje eksperymentalne
W programie PowerShell 7.3 następujące funkcje eksperymentalne stały się głównym nurtem:
PSAnsiRenderingFileInfo— Ta funkcja dodaje element$PSStyle.FileInfoi umożliwia kolorowanie określonych typów plików.PSCleanBlock— Dodajecleanblok do bloku skryptu jako równorzędny zbegin,processiendw celu umożliwienia łatwego czyszczenia zasobów.PSAMSIMethodInvocationLogging— Rozszerza dane wysyłane do usługi AMSI w celu przeprowadzenia inspekcji, aby uwzględnić wszystkie wywołania elementów członkowskich metody platformy .NET.PSNativeCommandArgumentPassing — program PowerShell używa teraz właściwości ArgumentList obiektu StartProcessInfo, a nie starego mechanizmu rekonstrukcji ciągu podczas wywoływania natywnego pliku wykonywalnego.
Program PowerShell 7.3.1 dodaje
sqlcmd.exedo listy natywnych poleceń w systemie Windows, które używająLegacystylu przekazywania argumentów.PSExec- Dodaje noweSwitch-Processpolecenie cmdlet (aliasexec) w celu zapewnieniaexeczgodności dla systemów innych niż Windows.Program PowerShell 7.3.1 zmienił alias
execna funkcję, która opakowujeSwitch-Process. Funkcja umożliwia przekazywanie parametrów do natywnego polecenia, które może być błędnie powiązane z parametrem WithCommand .
Program PowerShell 7.3 wprowadza następujące funkcje eksperymentalne:
-
PSNativeCommandErrorActionPreference — dodaje zmienną
$PSNativeCommandUseErrorActionPreferencew celu włączenia błędów generowanych przez polecenia natywne jako błędy programu PowerShell.
Program PowerShell 7.3 usunął następujące funkcje eksperymentalne:
-
PSNativePSPathResolutionfunkcja eksperymentalna nie jest już obsługiwana. -
PSStrictModeAssignmentfunkcja eksperymentalna nie jest już obsługiwana.
Aby uzyskać więcej informacji na temat funkcji eksperymentalnych, zobacz Używanie funkcji eksperymentalnych.