Novinky v PowerShellu 7.3
PowerShell 7.3 je příští stabilní verze založená na .NET 7.0.
PowerShell 7.3 obsahuje následující funkce, aktualizace a zásadní změny.
Zásadní změny a vylepšení
- V této verzi byla rozhraní API systému Windows aktualizována nebo odebrána kvůli dodržování předpisů, což znamená, že PowerShell 7.3 ve Windows 7 neběží. Systém Windows 7 se už nepodporuje, ale předchozí buildy by mohly běžet ve Windows 7.
- PowerShell Direct pro Hyper-V se podporuje jenom ve Windows 10 verze 1809 a novějších.
-
Test-Connection
je přerušena kvůli úmyslné změně způsobující chybu v .NET 7. Sleduje ho #17018 - Přidání
clean
bloku do bloku skriptu jako partnerského vztahubegin
process
aend
umožnění snadného vyčištění prostředků (#15177) - Změna výchozího nastavení pro
$PSStyle.OutputRendering
hostitele - Nastavení
Out-String
aOut-File
zachování vstupu řetězce beze změny (#17455) - Přesuňte definici dat typu System.Security.AccessControl.ObjectSecurity do modulu Microsoft.PowerShell.Security (#16355) (děkujeme@iSazonov!)
- Před touto změnou nemusí uživatel explicitně importovat modul Microsoft.PowerShell.Security , aby používal vlastnosti kódu definované pro instanci System.Security.AccessControl.ObjectSecurity.
- Po této změně musí uživatel explicitně importovat modul Microsoft.PowerShell.Security , aby mohl tyto vlastnosti kódu a metody kódu použít.
Vylepšení dokončování tabulátoru
- PowerShell 7.3 obsahuje PSReadline 2.2.6, který ve výchozím nastavení umožňuje prediktivní IntelliSense. Další informace najdete v tématu about_PSReadLine.
- Oprava dokončování tabulátoru v rámci bloku skriptu určeného pro .
ValidateScriptAttribute
(#14550) (Děkujeme@MartinGC94!) - Přidání dokončování tabulátoru pro popisky smyčky za
break
/continue
(#16438) (Děkujeme@MartinGC94!) - Vylepšení dokončování hashtable ve více scénářích (#16498) (Díky@MartinGC94!)
- Splatting parametru
-
Argumenty parametru pro
Invoke-CimMethod
-
Parametr FilterHashtable pro
Get-WinEvent
- Parametr vlastnosti pro rutiny CIM
- Odebere duplicity ze scénářů dokončení členů.
- Podpora lomítek v dokončení cesty UNC (network share) (#17111) (Díky@sba923!)
- Vylepšení automatického dokončování členů (#16504) (Díky@MartinGC94!)
- Stanovení priority dokončení ValidateSet před výčty pro parametry (#15257) (Díky@MartinGC94!)
- Přidání podpory odvozování typů pro obecné metody s parametry typu (#16951) (Děkujeme@MartinGC94!)
- Vylepšení odvozování a dokončování typu (#16963) (Díky@MartinGC94!)
- Umožňuje zobrazení metod ve výsledcích dokončení pro
ForEach-Object -MemberName
- Zabraňuje dokončení u výrazů, které vrací identifikátor void, jako je
([void](""))
- Umožňuje, aby se konstruktory třídy, které nejsou výchozí, zobrazovaly při dokončování třídy založené na AST.
- Umožňuje zobrazení metod ve výsledcích dokončení pro
- Zlepšení odvozování typů pro
$_
(#17716) (Díky@MartinGC94!) - Oprava odvozování typu pro ICollection (#17752) (Díky @MartinGC94!)
- Zabránit odebrání složených závorek při dokončování proměnných (#17751) (Díky@MartinGC94!)
- Přidání dokončování výrazů indexu pro slovníky (#17619) (Děkujeme)@MartinGC94!)
- Oprava dokončování typů pro tokeny atributů (#17484) (Děkujeme@MartinGC94!)
- Vylepšení dokončování dynamického parametru (#17661) (Díky@MartinGC94!)
- Vyhněte se pozičním parametrům vazby při dokončování parametru před hodnotou (#17693) (Díky@MartinGC94!)
Vylepšené zpracování chyb
- Správně nastaveno
$?
pro příkazový výraz s přesměrováním (#16046) - Oprava chyby přetypování při použití
$PSNativeCommandUseErrorActionPreference
(#15993) - Volitelné zpracování
ErrorActionPreference
chyb nativního příkazu (#15897) - Zadejte cestu spustitelného souboru jako
TargetObject
pro nenulový ukončovací kód ErrorRecord (#16108) (Díky@rkeithhill!)
Vylepšení relací a vzdálené komunikace
- Přidejte
-Options
na příkazy PSRP přes SSH, které umožňují přímé předávání možností OpenSSH (#12802) (díky@BrannenGH!) - Přidání
-ConfigurationFile
parametru propwsh
povolení spuštění nového procesu s konfigurací relace definovanou.pssc
v souboru (#17447) - Přidání podpory pro použití
New-PSSessionConfigurationFile
na platformách jiných než Windows (#17447)
Aktualizované rutiny
- Přidání
-HttpVersion
parametru do webových rutin (#15853) (Děkujeme@hayhay27!) - Přidání podpory k webovým rutinám pro otevřené vstupní značky (#16193) (Děkujeme@farmerau!)
- Oprava
ConvertTo-Json -Depth
povolení maximálního počtu 100 (#16197) (díky@KevRitchie!) - Vylepšení zpracování proměnných při volání
Invoke-Command
pomocí výrazu$using:
(#16113) (Díky@dwtaber!) - Přidání
-StrictMode
proInvoke-Command
povolení zadávání striktního režimu při místním vyvolání příkazu (#16545) (Děkujeme@Thomas-Yu!) - Přidání
clean
bloku do bloku skriptu jako partnerského vztahubegin
process
aend
umožnění snadného vyčištění prostředků (#15177) - Přidání
-Amended
přepínače doGet-CimClass
rutiny (#17477) (Děkujeme@iSazonov) - Změna
ConvertFrom-Json -AsHashtable
na použití uspořádané hashovatelné tabulky (#17405) - Odebrání řídicích sekvencí ANSI v řetězcích před odesláním do
Out-GridView
(#17664) - Přidání parametru Milisekund do
New-TimeSpan
(#17621) (Díky @NoMoreFood!) - Zobrazit volitelné parametry při zobrazení definic a přetížení metody (#13799) (Díky@eugenesmlv!)
- Povolit spuštění příkazů i v případě, že aktuální pracovní adresář již neexistuje (#17579)
- Přidání podpory pro HTTPS s
Set-AuthenticodeSignature -TimeStampServer
(#16134) (Děkujeme@Ryan-Hutchison-USAF!) - Vykreslení desetinných čísel v tabulce pomocí aktuální jazykové verze (#17650)
- Přidání akcelerátoru typů seřazených pro OrderedDictionary (#17804) (Děkujeme@fflaten!)
- Přidání
find.exe
do starší verze chování vazby argumentů pro Windows (#17715) - Přidání
-noprofileloadtime
přepínače do pwsh (#17535) (Díky@rkeithhill!)
Úplný seznam změn najdete v protokolu změn v úložišti GitHub.
Experimentální funkce
V PowerShellu 7.3 začaly být hlavní fáze následujících experimentálních funkcí:
PSAnsiRenderingFileInfo
– Tato funkce přidá člena$PSStyle.FileInfo
a umožňuje obarvení konkrétních typů souborů.PSCleanBlock
- Přidáclean
blok do bloku skriptu jako partnerský vztahbegin
process
aend
umožňuje snadné vyčištění prostředků.PSAMSIMethodInvocationLogging
- Rozšíří data odeslaná do AMSI pro kontrolu tak, aby zahrnovala všechna vyvolání členů metody .NET.PSNativeCommandArgumentPassing - PowerShell nyní používá ArgumentListVlastnost StartProcessInfo objektu místo starého mechanismu rekonstruování řetězce při vyvolání nativního spustitelného souboru.
PowerShell 7.3.1 přidá
sqlcmd.exe
do seznamu nativních příkazů ve Windows, které používajíLegacy
styl předávání argumentů.PSExec
– Přidá novouSwitch-Process
rutinu (aliasexec
) pro zajištěníexec
kompatibility pro systémy mimo Windows.PowerShell 7.3.1 změnil
exec
alias na funkci, která zabalíSwitch-Process
. Funkce umožňuje předat parametry nativnímu příkazu, který by mohl být chybně vázán na Parametr WithCommand .
PowerShell 7.3 zavádí následující experimentální funkce:
-
PSNativeCommandErrorActionPreference – přidá
$PSNativeCommandUseErrorActionPreference
proměnnou pro povolení chyb generovaných nativními příkazy za chyby PowerShellu.
PowerShell 7.3 odebral následující experimentální funkce:
-
PSNativePSPathResolution
experimentální funkce se už nepodporuje. -
PSStrictModeAssignment
experimentální funkce se už nepodporuje.
Další informace o experimentálních funkcích naleznete v tématu Použití experimentálních funkcí.