2014-09-24 46 views
1

在PowerShell中,我有:如何检查Internet Explorer的COM的版本号对象

$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 
} 

回答

6

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

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

为了理解Internet Explorer版本号微软提供了一个table。特别是IE11是:

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

特别注意:对于IE 10+

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

+2

这里不需要'Invoke-Command'。 – 2014-09-24 18:57:18

+0

非常真实,我修改了答案以提供简化。 – 2014-09-24 18:59:46

+2

http://support.microsoft.com/kb/969393 – 2014-09-24 19:10:20

相关问题