PowerShell是Windows和Windows Server的自動化平臺和腳本語言,具有命令行界面,可為IT專業人員提供更多配置微軟Windows系列操作系統的機會,是一種通用的管理工具,可讓用戶簡化對系統的管理。與其他基於文本的外殼程序不同,PowerShell利用.NET Framework的功能,可提供豐富的對象和大量內置功能來控制Windows環境。
近日,微軟發佈了PowerShell 7,這是其跨平臺PowerShell核心自動化工具和配置框架的最新版本。這次更新帶來了一些重大的變化、新的功能和改進的向後兼容性。展望未來,PowerShell 7將成為“一個真正的PowerShell”,以取代之前Windows PowerShell和PowerShell核心之間的分層。
此版本中最大的更改之一是從.NET Core 2.x升級到了3.1版。微軟在發佈該版本的博客文章中說:“.NET Core 3.1帶來了許多.NET Framework API,從而使它們與現有Windows PowerShell模塊的向後兼容性大大提高。” “這包括Windows上許多需要GUI功能的模塊,例如Out-GridView和Show-Command,以及Windows中附帶的許多角色管理模塊。”
PowerShell安裝目錄改變
在安裝PowerShell 7時,它將安裝到新目錄中,並與PowerShell 5.1一起運行。如果要從PowerShell Core 6.x升級,將覆蓋PowerShell 6目錄,並刪除所有不必要的文件。以下是安裝目錄列表:
將PowerShell 7安裝到%programfiles%\\PowerShell\\7目錄
%programfiles%\\PowerShell\\7 文件夾已添加到 $env:PATH
PowerShell 7安裝程序包將升級PowerShell Core 6.x的早期版本:
Windows:%programfiles%\\PowerShell\\6 替換為 %programfiles%\\PowerShell\\7
Linux: /opt/microsoft/powershell/6替換為 /opt/microsoft/powershell/7
macOS: /usr/local/microsoft/powershell/6 替換為 /usr/local/microsoft/powershell/7
PowerShell 7中的新功能
- 管道並行化
- 新的運算符
- ConciseView和Get-Error cmdlet
- 自動新版本通知
- 直接從PowerShell 7調用DSC資源
- 兼容層
在測試實際代碼之前,請務必確保檢查“環境變量”。
1、管道並行化
現在,使用ForEach-Object-Parallel時,可以並行執行或處理對象,而不是使用sequence方法。此方法可以在不到10秒的時間內卸下三個WIM映像,而不是按順序運行時的近25秒。下面是它的示例代碼:
Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}
2、新運算符
有三個新的三元運算符:a?b:c,管道鏈運算符;||和&&和Null條件運算符;??和??=。 它們的作用類似於一個簡化的if-else語句,利用它們可以使編寫代碼變得容易,而不是一直使用If-else循環。
3、ConciseView和Get-Error cmdlet
ConciseView是一個用戶可選擇的視圖,它是PowerShell 7的默認視圖。如果錯誤不是來自腳本,將收到一個單行錯誤。如果來自腳本或存在解析錯誤,將收到一條多行錯誤消息以及一個指針,顯示錯誤發生在哪一行。
然後有一個新的cmdlet Get Error,可以幫助用戶在需要時獲得錯誤的詳細視圖。它可以顯示最後發生的錯誤的完整詳細信息,包括內部異常。
$Error | Get-Error
Get-Error -Newest 3 # Displays the last three errors that occurred in the session
4、自動新版本通知
從PowerShell 7開始,系統將每天檢查一次更新,如果有新版本,系統將通知用戶。此信息僅在後續會話開始時顯示。
PowerShell更新有三個標誌:
Default:GA、預覽和RC版本
Off:關閉更新通知功能
LTS:只通知長期服務(LTS)GA版本的更新
如果要在PowerShell 7中關閉更新通知,請在PowerShell窗口中執行以下命令:
$Env:POWERSHELL_UPDATECHECK = 'Off'
5、直接從PowerShell 7調用DSC資源
Invoke-DscResource cmdlet運行指定的PowerShell所需狀態配置(DSC)資源的方法,這是一個實驗功能。
使用此cmdlet,配置管理產品可以通過使用DSC資源來管理Windows或Linux。當DSC引擎在啟用調試的情況下運行時,此cmdlet還可啟用資源調試。
6、兼容層
它允許PowerShell用戶在隱式Windows PowerShell會話中導入模塊。使用此功能,用戶能夠在遠程計算機上將真實命令作為會話使用,並將結果返回到本地會話。現在它支持導入模塊,用戶可以在遠程計算機上運行這些模塊。
PowerShell 7是跨平臺的,它支持Windows,macOS和各種Linux版本,PowerShell是Linux和macOS上都可用的開源軟件。很高興在PowerShell 7中看到如此多的新功能,希望微軟加大開發力度,開發出功能更強大的版本。
用戶可以在GitHub上下載和獲取PowerShell 7最新版本的更多詳細信息。
1.頭條號【微課傳媒】專注軟件分享,如果你喜歡玩軟件,歡迎關注、評論、收藏、轉發。
2.在學習中有什麼問題,歡迎與我溝通交流,今日頭條號搜索【微課傳媒】,我在這裡等你喲!
閱讀更多 微課傳媒 的文章