Co nowego w programie PowerShell 7.5
Program PowerShell 7.5-rc.1 zawiera następujące funkcje, aktualizacje i zmiany powodujące niezgodność. Program PowerShell 7.5 jest oparty na wersji ogólnodostępnej .NET 9.0.100.
Aby uzyskać pełną listę zmian, zobacz CHANGELOG w repozytorium GitHub.
Zmiany powodujące niezgodność
- Poprawka
-OlderThan
i parametry dotycząceTest-Path
używaniaPathType
i-NewerThan
zakresu dat (#20942) (Dzięki@ArmaanMcleod!)- Poprzednio
-OlderThan
byłoby ignorowane, jeśli określono razem
- Poprzednio
- Zmień
New-FileCatalog -CatalogVersion
wartość domyślną na 2 (#20428) (Dziękujemy)@ThomasNieto!) - Blokuj uzyskiwanie pomocy z lokalizacji sieciowych w sesjach z ograniczeniami komunikacji wirtualnej (#20593)
- Instalator Windows zapamiętuje teraz używane opcje instalacji i używa ich do inicjowania opcji następnej instalacji (#20420) (Dzięki@reduckted!)
ConvertTo-Json
teraz serializujeBigInteger
jako liczbę (#21000) (dzięki@jborean93!)
Zaktualizowane moduły
Program PowerShell 7.5-rc.1 zawiera następujące zaktualizowane moduły:
- Microsoft.PowerShell.PSResourceGet v1.1.0-RC2
- PSReadLine , wersja 2.3.6
Ulepszenia uzupełniania kart
Wiele dzięki @ArmaanMcleod i innym osobom za całą swoją pracę w celu ulepszenia ukończenia karty.
- Powrót do wnioskowania typu, gdy nie można pobrać wartości klucza tabeli skrótu z bezpiecznego wyrażenia (#21184) (Dzięki@MartinGC94!)
- Napraw regresję podczas wnioskowania typu dla
$_
(#21223) (Dzięki@MartinGC94!) - Rozwiń
~
pozycję$home
w systemie Windows z uzupełnianiem karty (#21529) - Nie należy wykonywać podczas deklarowania nazwy parametru i składowej klasy (#21182) (dzięki@MartinGC94!)
- Zapobiegaj uzupełnianiu plików podczas kończenia nazw typów na karcie (#20084) (Dziękujemy)@MartinGC94)
- Dodawanie elementu completer argumentu do
-Version
elementu dla (Set-StrictMode
#20554) (Dziękujemy)@ArmaanMcleod!) - Dodawanie
-Verb
narzędzia do uzupełniania argumentów i/Get-Command
Get-Verb
refaktoryzacjiGet-Verb
(#20286) (dzięki@ArmaanMcleod) - Dodawanie
-Verb
elementu completer argumentu dla (Start-Process
#20415) (Dziękujemy)@ArmaanMcleod) - Dodawanie
-Scope
modułu uzupełniania argumentów dla*-Variable
poleceń i*-Alias
*-PSDrive
(#20451) (dziękujemy)@ArmaanMcleod) - Dodawanie
-Module
uzupełniania poleceńSave-Help
Update-Help
/(#20678) (Dziękujemy@ArmaanMcleod)
Nowe polecenia cmdlet
- Dodawanie
ConvertTo-CliXml
poleceń cmdlet iConvertFrom-CliXml
(#21063) (dziękujemy)@ArmaanMcleod!)
Ulepszenia poleceń cmdlet sieci Web
- Poprawka umożliwiająca i
-Outfile
-PassThru
współpracująca ze sobą (#24086) (dziękujemy)@jshigetomi!) - Dodaj
OutFile
właściwość w plikuWebResponseObject
(#24047) (Dzięki@jshigetomi!) - Pokaż nazwę pliku w pliku
Invoke-WebRequest -OutFile -Verbose
(#24041) (Dzięki@jshigetomi!) - Napraw polecenie WebCmdlets, gdy
-Body
jest określony, aleContentType
nie jest (#23952) (dziękujemy)@CarloToso!) - Poprawka
Invoke-WebRequest
do raportowania poprawnego rozmiaru, gdy-Resume
jest określony (#20207) (Dzięki@LNKLEO!) - Naprawianie poleceń cmdlet sieci Web w celu umożliwienia poprawnej
WinForm
pracy aplikacji (#20606)
Inne ulepszenia poleceń cmdlet
- Włącz
-NoRestart
pracę zRegister-PSSessionConfiguration
programem (#23891) - Dodawanie
IgnoreComments
poleceń cmdlet (#23817) iAllowTrailingCommas
opcjeTest-Json
(dzięki)@ArmaanMcleod!) - Polecenie Get-Help może zgłaszać parametry z atrybutem
ValueFromRemainingArguments
jako w stanie potoku (#23871) - Zmień typ na
LineNumber
ulong
w (Select-String
#24075) (Dziękujemy@Snowman-25!) Get-Process
: Usuń wymaganie administratora dla-IncludeUserName
(#21302) (Dziękujemy@jborean93!)- Poprawka sprawdzania
Test-Path -IsValid
nieprawidłowych znaków ścieżki i nazwy pliku (#21358) - Dodawanie
RecommendedAction
doConciseView
raportowania błędów (#20826) (dzięki@JustinGrote!) - Dodano pasek postępu dla
Remove-Item
polecenia cmdlet (#20778) (Dziękujemy)@ArmaanMcleod!) - Poprawka
Test-Connection
spowodowana zmianami platformy .NET 8 (#20369) - Naprawianie
Get-Service
komunikatu o błędzie bez zakończenia w celu uwzględnienia kategorii (#20276) - Dodawanie
-Empty
parametrów i-InputObject
doNew-Guid
(#20014) (Dziękujemy)@CarloToso!) - Dodaj alias
r
do parametru-Recurse
Get-ChildItem
dla polecenia (#20100) (Dzięki@kilasuit!) - Dodaj
LP
doLiteralPath
aliasów dla funkcji, które nadal jej brakuje (#20820) - Dodaj niejawną lokalizację rezerwową do
Import-LocalizedData
(#19896) (Dzięki@chrisdent-de!) - Dodaj
Aliases
do właściwości wyświetlanych podczas formatowania zawartości pomocy parametru zwróconego przezGet-Help
(#20994) - Dodaj
HelpUri
doRemove-Service
(#20476) - Naprawa awarii uzupełniania dostawcy SCCM (#20815, #20919, #20915) (Dziękujemy) @MartinGC94!)
- Naprawianie regresji w
Get-Content
przypadku, gdy-Tail 0
i-Wait
są używane razem (#20734) (dzięki@CarloToso!) - Poprawka
Start-Process -PassThru
, aby upewnić się, żeExitCode
właściwość jest dostępna dla zwróconegoProcess
obiektu (#20749) (Dzięki@CodeCyclone!) - Poprawka
Group-Object
służąca do używania bieżącej kultury dla danych wyjściowych (#20608) - Naprawianie
Group-Object
danych wyjściowych przy użyciu ciągów interpolowanych (#20745) (dziękujemy)@mawosoft!) - Naprawiono renderowanie
DisplayRoot
elementu dla sieciPSDrive
(#20793) - Poprawka
Copy-Item
postępu pokazywania tylko po skopiowaniu wszystkich plików (#20517) - Napraw regresję ukończenia ścieżki UNC (#20419) (dzięki@MartinGC94!)
- Zgłoś błąd, jeśli jest przekazywany nieprawidłowy
-ExecutionPolicy
dopwsh
(#20460) - Dodawanie modułów WinGetCommandNotFound i CompletionPredictor w celu śledzenia użycia (#21040)
- Dodaj parametr DateKind do (
ConvertFrom-Json
#20925) (Dziękujemy)@jborean93!) - Dodawanie informacji o katalogu do parametru OutputType dla nowego elementu (#21126) (dziękujemy)@MartinGC94!)
- Naprawianie
Get-Error
serializacji wartości tablicy (#21085) (Dzięki@jborean93!) - Poprawka
Test-ModuleManifest
umożliwiająca używanie ścieżki UNC (#24115) - Poprawka
Get-TypeData
zapisu w potoku natychmiast zamiast zbierania danych najpierw (#24236) (dzięki@MartinGC94) - Dodaj
-Force
parametr doResolve-Path
poleceń cmdlet iConvert-Path
, aby obsługiwać ukryte pliki z symbolami wieloznacznymi #20981 (dzięki @ArmaanMcleod!)
Ulepszenia aparatu
- Jawne uruchamianie i zatrzymywanie koloru błędu ANSI (#24065) (dziękujemy)@JustinGrote!)
- Ulepszanie definicji przeciążenia platformy .NET metod ogólnych (#21326) (dzięki@jborean93!)
- Zoptymalizuj operację
+=
dla kolekcji, gdy jest to tablica obiektów (#23901) (Dzięki@jborean93!) - Dodawanie telemetrii w celu sprawdzenia określonych tagów podczas importowania modułu (#20371)
- Dodawanie
PSAdapter
iConsoleGuiTools
ładowanie do modułu listy dozwolonych danych telemetrycznych (#20641) - Dodawanie modułu Winget w celu śledzenia użycia (#21040)
- Upewnij się, że nazwa pliku nie ma wartości null podczas rejestrowania zdarzeń WDAC ETW (#20910) (Dzięki@jborean93!)
- Naprawiono cztery regresje wprowadzone przez funkcję rejestrowania WDAC (#20913)
- Pozostaw niezastawioną obsługę danych wejściowych, wyjściowych i błędów, gdy nie są przekierowywane (#20853)
- Napraw niejawne polecenia cmdlet serwera proxy komunikacji wirtualnej, aby działały na typowych parametrach (#20367)
- Dołącz wersję modułu w komunikatach o błędach, gdy moduł nie zostanie znaleziony (#20144) (dziękujemy)@ArmaanMcleod!)
- Poprawka
unixmode
do obsługisetuid
isticky
braku pliku wykonywalnego (#20366) - Poprawka przy użyciu zestawu do używania metody Path.Combine podczas konstruowania ścieżek zestawów (#21169)
- Zweryfikuj wartość dla używania przestrzeni nazw podczas kontroli semantycznych, aby zapobiec deklarowaniu nieprawidłowych przestrzeni nazw (#21162)
- Obsługa narzędzia globalnego specjalnie podczas dołączania
$PSHome
do ścieżki (#24228)
Funkcje eksperymentalne
Następujące funkcje eksperymentalne zostały przekonwertowane na funkcje podstawowe w programie PowerShell 7.5-rc.1:
W programie PowerShell 7.5-rc.1 znajdują się następujące funkcje eksperymentalne:
- PSRedirectToVariable — zezwalaj na przekierowywanie do zmiennej (#20381)
- PSNativeWindowsTildeExpansion — dodawanie rozszerzenia tyldy dla natywnych plików wykonywalnych systemu Windows (#20402) (dzięki@domsleee!)
- PSSerializeJSONLongEnumAsNumber
ConvertTo-Json
- traktuje teraz duże wyliczenia jako liczby (#20999) (Dzięki@jborean93!)