【问题标题】:Compare IE versions with PowerShell将 IE 版本与 PowerShell 进行比较
【发布时间】:2015-08-07 14:06:51
【问题描述】:

我在将 IE 版本与 PowerShell 进行比较时遇到问题。

我有以下代码:

$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 名称 BaseType -------- -------- ---- -------- True True 字符串 System.Object

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

有人可以帮我解决这个问题吗?

提前致谢。

【问题讨论】:

    标签: powershell


    【解决方案1】:
    $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 以下的任何其他内容最后都属于 else。

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

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2022-09-28
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 2011-12-23
      • 1970-01-01
      相关资源
      最近更新 更多