PowerShell 7.3 是建置在 .NET 7.0 上的下一個穩定版本。
PowerShell 7.3 包含下列功能、更新和重大變更。
重大變更和改善
- 在此版本中,已更新或移除 Windows API 以符合規範,這表示 PowerShell 7.3 不會在 Windows 7 上執行。 雖然不再支援 Windows 7,但先前的組建可以在 Windows 7 上執行。
- 只有 Windows 10 版本 1809 和更新版本才支援 Hyper-V 的 PowerShell Direct。
-
Test-Connection因為 .NET 7 的刻意變更而中斷。 其追蹤方式為 #17018 - 將
clean區塊新增至腳本區塊,以便clean與begin、process和end平行,以便於資源清理 (#15177) - 將 的預設值
$PSStyle.OutputRendering變更為 [主機] - 使
Out-String和Out-File的字串輸入保持不變 (#17455) - 將 System.Security.AccessControl.ObjectSecurity 的類型數據定義移至 Microsoft.PowerShell.Security 模組 (#16355) (感謝@iSazonov!)
- 在這項變更之前,使用者不需要明確地匯入 Microsoft.PowerShell.Security 模組,才能使用針對 System.Security.AccessControl.ObjectSecurity 實例定義的程式代碼屬性。
- 這項變更之後,用戶必須明確地匯 入 Microsoft.PowerShell.Security 模組,才能使用這些程式代碼屬性和程式碼方法。
Tab 鍵自動完成改善
- PowerShell 7.3 包含 PSReadLine 2.2.6,預設會啟用預測性智慧感知 (IntelliSense)。 如需詳細資訊,請參閱 about_PSReadLine。
- 修正為
ValidateScriptAttribute指定的腳本區塊中的標籤自動完成功能。 (#14550) (感謝@MartinGC94!) - 新增迴圈標籤的索引標籤自動完成至
break/continue之後 (#16438) (感謝 @MartinGC94!) - 在多個情境下改善哈希表功能完整性 (#16498)(感謝 @MartinGC94!))
- 參數散布
-
引數參數
Invoke-CimMethod -
FilterHashtable 參數
Get-WinEvent - CIM Cmdlet 的屬性參數
- 從成員完成情境中移除重複項目
- 支援在網路共用(UNC 路徑)中使用斜線完成(#17111)(感謝@sba923!))
- 改善成員自動完成 (#16504) (感謝 @MartinGC94!))
- 優先選擇 ValidateSet 完成選項,而非參數的列舉值(#15257)(感謝 @MartinGC94!))
- 新增對具有類型參數的泛型方法的類型推斷支援(#16951)(感謝@MartinGC94!)
- 改善類型推斷和自動完成功能(#16963)(感謝 @MartinGC94!))
- 允許將方法顯示於完成結果中
ForEach-Object -MemberName - 防止在傳回 void 的運算式上完成,例如
([void]("")) - 允許非預設類別建構函式在類別完成以 AST 為基礎時顯示
- 允許將方法顯示於完成結果中
- 改善
$_類型推斷(#17716,感謝@MartinGC94!)) - 修正 ICollection 的類型推斷 (#17752) (感謝@MartinGC94!)
- 防止在完成變數時移除大括弧 (#17751) (感謝 @MartinGC94!)
- 新增字典索引表達式的自動完成功能(#17619),感謝@MartinGC94!)的貢獻。
- 修正屬性代幣的類型完成 (#17484) (感謝 @MartinGC94!))
- 改善動態參數標籤自動完成功能(#17661)(感謝 @MartinGC94!))
- 避免在值的前面完成參數時綁定位置參數(#17693)感謝@MartinGC94!)
改進的錯誤處理
- 正確設定
$?以用於帶有重新導向的命令表示式 (#16046) - 修正使用
$PSNativeCommandUseErrorActionPreference時的轉換錯誤 (#15993) - 使原生命令錯誤處理選擇性地遵循
ErrorActionPreference(#15897) - 請將可執行檔案的路徑指定為
TargetObject以用於非零退出代碼的 ErrorRecord (#16108) (感謝 @rkeithhill!))
會話功能和遠端操作改進
- 新增
-Options至透過 SSH 命令的 PSRP,以允許直接傳遞 OpenSSH 選項 (#12802) (感謝 @BrannenGH!) - 將
-ConfigurationFile參數新增至pwsh,以允許啟動使用.pssc檔案中定義的工作階段組態的新進程(#17447) - 新增在非 Windows 平臺上使用
New-PSSessionConfigurationFile的支援 (#17447)
更新的 Cmdlet
- 將參數新增
-HttpVersion至 Web Cmdlet (#15853) (感謝 @hayhay27!) - 為開放式輸入標籤新增對 Web Cmdlet 的支援(#16193)(感謝 @farmerau!))
- 修正
ConvertTo-Json -Depth以允許最多 100 個 (#16197) (感謝 @KevRitchie!) - 使用表達式呼叫
Invoke-Command$Using:時改善變數處理 (#16113) (感謝 @dwtaber!) - 新增
-StrictMode至Invoke-Command以允許在本機叫用命令時指定 strict 模式 (#16545) (感謝 @Thomas-Yu!) - 將
clean區塊新增至腳本區塊,作為begin、process和end的對等,以允許輕鬆清除資源(#15177) - 新增
-Amended切換至Get-CimClassCmdlet(#17477)(感謝 @iSazonov) - 已變更
ConvertFrom-Json -AsHashtable為使用已排序哈希表 (#17405) - 在傳送至
Out-GridView之前,移除字串中的 ANSI 逸出序列 (#17664) - 已將 毫秒 參數新增至
New-TimeSpan(#17621) (感謝 @NoMoreFood!) - 在顯示方法定義和多載時顯示可選參數(#13799)(感謝@eugenesmlv!))
- 即使目前的工作目錄已不存在,仍允許執行命令 (#17579)
- 新增對
Set-AuthenticodeSignature -TimeStampServerHTTPS 的支援 (#16134) (感謝 @Ryan-Hutchison-USAF!) - 以目前文化格式呈現表格中的十進位數 (#17650)
- 新增排序為 OrderedDictionary 的類型加速器 (#17804) (感謝 @fflaten!)
- 新增
find.exe至 Windows 的舊版自變數系結行為 (#17715) - 新增
-NoProfileLoadTime切換至 pwsh (#17535) (感謝 @rkeithhill!))
如需變更的完整清單,請參閱 GitHub 存放庫中的變更記錄 檔。
實驗性功能
在 PowerShell 7.3 中,下列實驗性功能成為主流:
PSAnsiRenderingFileInfo- 此功能新增$PSStyle.FileInfo成員,並啟用特定文件類型的著色功能。PSCleanBlock- 將clean區塊新增至腳本區塊,作為begin、process和end的對等區塊,以便於資源的輕鬆清理。PSAMSIMethodInvocationLogging- 延伸發送至 AMSI 檢查的資料範圍,以涵蓋所有 .NET 方法成員的調用。PSNativeCommandArgumentPassing - PowerShell 現在會使用 StartProcessInfo 物件的 ArgumentList 屬性,而不是叫用原生可執行檔時重建字元串的舊機制。
PowerShell 7.3.1 會在 Windows 中新增
sqlcmd.exe使用Legacy自變數傳遞樣式的原生命令清單。PSExec- 新增新的Switch-Processcmdlet(別名exec),以提供對非 Windows 系統的相容性。PowerShell 7.3.1 已將
exec別名變更為封裝Switch-Process的函式。 函式可讓您將參數傳遞至可能錯誤綁定到 WithCommand 參數的原生命令。
PowerShell 7.3 引進下列實驗性功能:
-
PSNativeCommandErrorActionPreference - 新增
$PSNativeCommandUseErrorActionPreference變數,讓原生命令所產生的錯誤成為 PowerShell 錯誤。
PowerShell 7.3 已移除下列實驗性功能:
-
PSNativePSPathResolution不再支持實驗性功能。 -
PSStrictModeAssignment不再支持實驗性功能。
如需實驗性功能的詳細資訊,請參閱 使用實驗性功能。