2014-09-24 44 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

相關問題