此篇純屬註記,方便日後查詢使用
Google search keyword => PowerShell script to return versions of .NET Framework on a machine?
PC OS: window 7
使用指令PowerShell如下
我承認我是大懶豬(舉手答右),以下內容轉自黑暗大大在 Stackoverflow 找到網友分享用 Powershell 檢查 .NET 版本的範例: 註:Stackoverflow 上原本的寫法是 Where { $_.PSChildName -match '^(?!S)\p{L}'} , 用到的 Regular Expression 語法有點生澀難懂:^(?!S) 指明第一個字母不可是 S 以排除 Setup;\p{L} 則規定必須字母起首(參考:Unicode Category)排除 1033、1028 等語系代碼項目,我改用 ^[^0-9S] , 結果相同,但好記好懂許多Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | Get-ItemProperty -name Version,Release -EA 0 | Where { $_.PSChildName -match '^[^0-9S]'} | Select PSChildName, Version, Release, @{ name="Product" expression={ switch -regex ($_.Release) { "378389" { [Version]"4.5" } "378675|378758" { [Version]"4.5.1" } "379893" { [Version]"4.5.2" } "393295|393297" { [Version]"4.6" } "394254|394271" { [Version]"4.6.1" } "394802|394806" { [Version]"4.6.2" } {$_ -gt 394806} { [Version]"Undocumented 4.6.2 or higher, please update script" } } } }測試成功,再次感謝謝黑暗大神 Orz
沒有留言:
張貼留言