前回のUACに引き続き、レジストリ操作で Internet Explorer のバージョンを取得してみましょう。
今回も PowerShell で さくっと、しかもほぼ前回と同様のコードという手抜きで!
IE バージョン の取得
今回も、レジストリで可能です。
つまり、 (Get|Set|Remove)-ItemProperty 系のCndlet が大活躍です。
レジストリ情報は以下です。
Path : HKLM\SOFTWARE\Microsoft\Internet Explorer Name : Version Value : バージョン (9. がVersionの頭につきます)
リモートホストへの実行
今回もローカルでPowerShell として 動作する = valentiaを使えばリモートでも同様に動作します。
コード
GitHub に置いておきます。
さくっと書きましょう。
function Get-IEVersion { <# .Synopsis Check IEVersion from Registry .DESCRIPTION This cmdlet will return IEVersion .EXAMPLE # if returned '9.11.9600.16384' then it will be IE11 '11.0.9600.16384' Get-IEVersion .EXAMPLE Get-IEVersion -Verbose #> [CmdletBinding()] Param ( ) begin { $path = "registry::HKLM\SOFTWARE\Microsoft\Internet Explorer" $name = "Version" } process { $uac = Get-ItemProperty $path if ($uac) { Write-Verbose ("Registry path '{0}', name '{1}', value '{2}'" -f (Get-Item $path).name, $name, $uac.$name) $uac.$name } else { Write-Verbose ("Registry path '{0}', name '{1}', value '{2}'" -f (Get-Item $path).name, $name, $uac.$name) Write-Warning ("Could not found '{0}' from '{1}'" -f $name, (Get-Item $path).name) } } }
実行結果
IE11 '11.0.9600.16384' の場合以下のように表示されます。
9.11.9600.16384