如何检查Internet Explorer COM对象的版本号

ora*_*rad 1 com powershell internet-explorer wsh internet-explorer-11

在PowerShell我有:

$ie = New-Object -COM InternetExplorer.Application
Run Code Online (Sandbox Code Playgroud)

如何获得版本号$ie?我想验证我们是否正在使用IE11或更高版本的实例,或者提示用户升级其Internet Explorer.

谢谢!

答:基于已接受的答案,这就是我使用的:

$ieVersion = New-Object -TypeName System.Version -ArgumentList (
    Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version
$ieVersion = New-Object -TypeName System.Version -ArgumentList (
    # switch major and minor
    $ieVersion.Minor, $ieVersion.Major, $ieVersion.Build, $ieVersion.Revision)
if ($ieVersion.Major -lt 11)
{
    Write-Error "Internet Explorer 11 or later required. Current IE version is $ieVersion"
    exit
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*tch 7

在不实例化InternetExplore.Application对象的情况下,可以使用PowerShell从注册表中检索IE的版本.所有版本的IE都将它们的版本存储在同一个地方.这应该工作:

 (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version
Run Code Online (Sandbox Code Playgroud)

为了理解Internet Explorer版本号,Microsoft提供了一个.特别是IE11是:

Internet Explorer 11的版本号将以11开头(例如,11.0.9600).版本号将根据为Internet Explorer安装的更新而更改.要查看版本号和安装的最新更新,请转到"帮助"菜单,然后选择"关于Internet Explorer".

特别提示:对于IE 10+:

返回的版本号Version将显示为<version minor>.<version major>....显示的真实版本现在存储在SvcVersion中.可以创建一个查询SvcVersion(而不是Version)的Powershell脚本,如果它返回非空白则使用它.否则,应该Version如上查询.