微軟發布Windows管理框架3.0測試版
近日,微軟發布了 Windows 管理框架3.0測試版(Windows Management Framework,WMF),其中包括 PowerShell 3.0 以及 WMI 和 WinRM 的更新版本。
正如 InfoQ 在 WMF3 CTP 宣布時介紹的一樣,PowerShell 3.0 包含了幾個新特性。以下是部分亮點:
工作流可用于創建那些即使在關機情況下也能夠被中斷和恢復的、并行或長期運行的任務。該特性利用了 Windows Workflow Foundation (WWF)的功能。PowerShell 腳本被翻譯成 WWF 代碼以創建工作流。類似地,更加健壯的會話能夠讓任務從網絡中斷和宕機中獲得更好地恢復,從而可以接著上次停止的地方繼續運行。
PowerShell 3.0 使用了動態語言運行時(Dynamic Language Runtime)。相比 PowerShell 2.0,它帶來了顯著的性能提升。PowerShell 3.0 重寫了解析器,并開放了 API。Adam Driscoll針對這些改動表達了一些自己的看法:
Compiler 類實現了 ICustomAstVisitor,這意味著編譯器會指定怎樣遍歷抽象語法樹(Abstract Syntax Tree,AST)。我在仔細閱讀完類成員之后,研究了一下 Compile 方法。該方法的輸入是一個抽象語法樹,而輸出是一個表達式(Expression)。也就是說,編譯器會訪問抽象語法樹中的每一個結點,并將其編譯成一個 LINQ 表達式樹。太邪惡了!接下去表達式會被編譯并調用……繼而存儲為當前進程內的一個動態方法(DynamicMethod)。由于它已經被編譯過,所以以后不需要對其重新進行解析。
此外,WMF 3.0 還提供了一個新的集成腳本環境(Integrated Scripting Environment,ISE)擴展(你可以通過 PowerShell 中的服務器管理器找到它)。集成腳本環境方便了用戶查找正確的命令,進行語法檢查以及查看必要參數和可選參數。它也支持智能感知,并且可以直接運行命令,或將命令插入到腳本中。
WMF 3.0 中還包含了 Windows 管理規范(Windows Management Instrumentation,WMI)以及 Windows 遠程管理(Windows Remote Management,WinRM)的更新版本。另外還有一個新的服務器管理器公共信息模型供應程序(Server Manager CIM Provider),它可以讓用戶在 Windows Server 8 測試版的 WMF 中管理 Windows 2008 服務器。最后,微軟還推出了 Windows PowerShell Web 服務,它通過一個 RESTful 接口暴露 PowerShell cmdlet,從而使當前不支持 WMF 的客戶端可以使用 OData 協議訪問其中的功能。
WMF 3.0 可用于 Windows 7 Sp1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2(同時支持 32 位和 64 位版本的 2008 SP2 也是 WMF 3.0 新特性之一)。目前微軟對 WMF 3.0 最終是否可用于舊版操作系統中尚未表態。PowerShell 3.0 被包含進 Windows 8 測試版,并成為了系統的一部分。
查看英文原文:http://www.infoq.com/news/2012/03/PowerShell-3