Home >
Windows にまつわる e.t.c.
PowerShell で .NET Framework バージョンを確認する
.NET Framework のバージョンは、レジストリに記録されていますので、レジストリを読めばインストールされている
.NET Framework バージョンが判別できます。
インストールされている .NET Framework バージョンを確認する
https://msdn.microsoft.com/ja-jp/library/hh925568(v=vs.110).aspx
PowerShell でバージョン確認スクリプト書いてみました。
# レジストリ読み取り
function RegGet( $RegPath, $RegKey ){
# レジストリそのものの有無確認
if( -not (Test-Path $RegPath )){
return $null
}
# Key有無確認
$Result = Get-ItemProperty $RegPath -name $RegKey -ErrorAction SilentlyContinue
# キーがあった時
if( $Result -ne $null ){
return $Result.$RegKey
}
# キーが無かった時
else{
return $null
}
}
# メイン処理
$RootReg = "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP"
$Datas = dir $RootReg
foreach( $Data in $Datas ){
$Terget = $Data.Name
$Terget = $Terget -replace "HKEY_LOCAL_MACHINE", "HKLM:"
# 1 - 4
$Version = RegGet $Terget "Version"
if( $Version -ne $null ){
$SP = RegGet $Terget "SP"
echo "$Version SP:$SP"
}
# 4 -
if( (Split-Path $terget -Leaf) -eq "v4" ){
$Terget = $Terget + "\" + "Client"
$Version = RegGet $Terget "Release"
switch ($Version){
378389 { echo "4.5" }
378675 { echo "4.5.1" }
378758 { echo "4.5.1" }
379893 { echo "4.5.2" }
393295 { echo "4.6" }
393297 { echo "4.6" }
394254 { echo "4.6.1" }
394271 { echo "4.6.1" }
394802 { echo "4.6.2" }
394806 { echo "4.6.2" }
460798 { echo "4.7" }
460805 { echo "4.7" }
461308 { echo "4.7.1" }
461310 { echo "4.7.1" }
461808 { echo "4.7.2" }
461814 { echo "4.7.2" }
default {
echo "Release $Version"
$Version = RegGet $Terget "Version"
echo "Version $Version"
}
}
}
}
|
Copyright © MURA
All rights reserved.