检查并在Windows Server 2008/2012/2016上安装了Web浏览器

时间:2019-02-19 02:27:42

标签: powershell windows-server

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

我可以使用以下命令查询已安装的应用程序列表,但是如果服务器上未安装Internet Explorer,则不会显示该信息。

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

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

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

1 个答案:

答案 0 :(得分:0)

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键ID并将其作为参数值传递给regkeypath