首页 > 解决方案 > PowerShell在尝试显示注册表值时显示空白行

问题描述

我正在尝试获取任何系统上已安装程序的列表。wmi Products 不显示某些程序,因此我尝试使用 Power shell 获取已安装软件的列表。以下代码似乎显示了许多行,但它们都是空白的。我错过了什么吗?

Get-ItemProperty "HKLM:\Software\Wow6432Node\Microsoft\Active Setup\Installed Components\*" | Select-object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize

标签: powershell

解决方案


我认为您弄错了注册表项路径。要列出已安装的软件,也许这会做得更好:

$regKeys = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*', 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
foreach ($key in $regKeys) {
    Write-Host $key -ForegroundColor Yellow

    Get-ItemProperty $key | 
        Where-Object { $_.DisplayName } |
        Sort-Object -Property DisplayName, InstallDate |
        Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize
}

推荐阅读