将IE版本与PowerShell

时间:2015-08-07 14:06:51

标签: powershell

我在使用PowerShell比较IE版本时遇到了问题。

我有以下代码:

$CurVersion = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version
    Write-Host "Current Version Of IE is $CurVersion"
IF ($CurVersion -gt "11.*")
            {
              "IE is up to date"    
            }
            ELSE
            {
              "IE needs to be updated"  
            }

但是,此代码不起作用,因为$ curversion存储为字符串。 9.11.9600.17914 IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object

我可以删除部分版本号,将其转换为int并以此方式进行比较,但我确信必须有一种更简单,更简单的方法。

有人可以帮我这个吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

$CurVersion = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version.Substring(2)

添加.substring(2)应该删除9.并使当前脚本工作到一定程度,该脚本将遇到IE9的问题。如果这不是问题,请继续阅读并停止阅读。

对于IE的所有版本,您可以使用以下代码。这将占IE 9版本“9.0”,IE 10和11(“9.1”)以及9以下的其他任何内容落入其他结尾。

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

IF ($CurVersion.StartsWith("9.0"))
{
$CurVersion2 = $CurVersion
}
ElseIF ($CurVersion.StartsWith("9.1"))
{
$CurVersion2 = $CurVersion.Substring(2)
}
Else
{
$CurVersion2 = $CurVersion
}   
Write-Host "Current Version Of IE is $CurVersion2"
IF ($CurVersion2 -gt "11.*")
        {
          "IE is up to date"    
        }
        ELSE
        {
          "IE needs to be updated"  
        }