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

标签 internet-explorer powershell com internet-explorer-11 wsh

在PowerShell中,我具有:

$ie = New-Object -COM InternetExplorer.Application

如何获得$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
}

最佳答案

如果不实例化InternetExplore.Application对象,则可以使用PowerShell从注册表中检索IE的版本。 IE的所有版本都将其版本存储在同一位置。这应该工作:

 (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version

为了理解Internet Explorer的版本号,Microsoft提供了table。 IE11特别是:

Internet Explorer 11 will have a version number that starts with 11 (for example, 11.0.9600). The version number will change based on the updates that have been installed for Internet Explorer. To see the version number and the most recent update installed, go to the Help menu and select About Internet Explorer.



特别注意:对于IE 10+ :
Version返回的版本号将显示为<version minor>.<version major>...。现在,显示的真实版本存储在SvcVersion中。可以创建一个Powershell脚本来查询SvcVersion(而不是Version),如果返回非空白,请使用它。否则,应如上所述查询Version

关于internet-explorer - 如何检查Internet Explorer COM对象的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024168/

相关文章:

Java覆盖现有的类方法

javascript - anchor 标记上的 onclick 事件在 IE 中有效,但在 Firefox 和 Chrome 中无效

c++ - 我自己的 COM 组件上未注册类 (0x80040154)

c# - shell 扩展如何将多个选定的文件传递给我自己的程序?

css - 是否可以将 Internet Explorer BasicImage 过滤器与渐变过滤器链接起来?

javascript - IE 提交时不显示图像

azure - 将数组中的输出或对象转换为表 Powershell

internet-explorer - 关于 $ie.Document.getElementById

regex - Powershell正则表达式替换

windows - 强制 IAutoComplete 刷新数据集?