.NET Framework 仍然是許多現有應用程式的開發選項,特別是在伺服器應用中,因此 .NET Framework 並不會在伺服器應用程式中被 .NET 所取代。也因此,了解安裝在系統上的 .NET Framework 版本對於確保應用程序兼容性和系統安全性都至關重要,本文介紹了一種使用 PowerShell 快速檢測系統中安裝的 .NET Framework 版本的方法。
在 Windows 系統中,基本上都有 PowerShell 可以直接執行,以下的腳本是直接從 Windows 注冊表中讀取信息,分析系統中安裝的 .NET Framework 的版本,並寫成函式,以便放到共用函式庫中使用。
1 | function Get-DotNetVersionFromRegistry { |
這裡直接用了查表法,根據官方這篇文章如何:判斷安裝的 .NET Framework 版本所提供的 .NET Framework 版本 Release 值,來判斷系統中安裝的 .NET Framework 版本。
後記
如果你是要偵測 .NET Framework 1.0 到 4.0 的版本,由於這些版本的機碼位置不同,判斷方式也有差異,若有需要,可以參考下表作為參考:
| Framework 版本 | 登錄子機碼 | 值 |
|---|---|---|
| 1.0 | HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 |
Install REG_SZ 等於 1 |
| 1.1 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 |
Install REG_DWORD 等於 1 |
| 2.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 |
Install REG_DWORD 等於 1 |
| 3.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup |
InstallSuccess REG_DWORD 等於 1 |
| 3.5 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 |
Install REG_DWORD 等於 1 |
| 4.0 用戶端設定檔 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client |
Install REG_DWORD 等於 1 |
| 4.0 完整設定檔 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full |
Install REG_DWORD 等於 1 |
參考資料: