我正在尝试编写一个简短的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浏览器的备用注册位置?
答案 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