【问题标题】:Checking and a Web-Browser is installed on Windows Server 2008/2012/2016检查并在 Windows Server 2008/2012/2016 上安装 Web 浏览器
【发布时间】:2019-07-12 11:18:09
【问题描述】:

我正在尝试编写一个简短的 Powershell 脚本,它会遍历服务器列表并检查是否安装了 Web 浏览器或 Web 浏览器。

我可以使用以下命令查询已安装应用程序的列表,但这不会显示服务器上是否安装了 Internet Explorer。

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*Internet Explore*"} | Select-Object -ExpandProperty DisplayName

如果安装了浏览器,是否有更好的方法来查询注册值的真/假?

还有比使用“HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall*”更好的方法来获取 Windows Server 上已安装浏览器的列表。 Windows Server 上是否有可供查询的 Web 浏览器的替代注册位置?

【问题讨论】:

  • Internet Explorer 内置在 Windows 中,因此它不会显示在您查询的注册表项中……是的,注册表查询是确定已安装应用程序的最佳方法
  • 谢谢基兰。您是否知道任何注册密钥可以为正在安装的任何网络浏览器提供真/假?
  • 我不知道有任何键会显示布尔值,但制作自己的键很容易......我会在答案部分发布......

标签: powershell windows-server


【解决方案1】:
Function Test-RegValue
{
param([string]$RegKeyPath,[string]$Value)
    if(test-path $RegKeyPath)
    {
        (Get-ItemProperty $RegKeyPath).$Value -ne $null

    }
    else
    {
        $false
    }

}

Test-RegValue -RegKeyPath "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8E3C7B5F-362C-440E-9895-726083B802E1}"  -Value displayname

如果根键存在,那么我们检查属性“displayname”是否有值。在我的电脑上,这个8E3C7B5F-362C-440E-9895-726083B802E1 reg 键对应于“node.js”

所以只需列出各种浏览器的 reg key id 并将它们作为参数值传递给regkeypath

【讨论】:

    猜你喜欢
    • 2015-11-21
    • 2012-02-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    相关资源
    最近更新 更多