我需要使用shell命令在Windows设备中获取所有已安装的应用程序及其详细信息。我试着用
手工安装的应用程序似乎在列表中缺失了。请提供一个更好的方法。
发布于 2020-12-03 20:35:12
另一种方法可以是像这样查询注册表,例如:
# HKLM - Local Machine
$InstalledSoftware = Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall"
foreach($obj in $InstalledSoftware){write-host $obj.GetValue('DisplayName') -NoNewline; write-host " - " -NoNewline; write-host $obj.GetValue('DisplayVersion')}
# HKCU - Current User
InstalledSoftware = Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall"
foreach($obj in $InstalledSoftware){write-host $obj.GetValue('DisplayName') -NoNewline; write-host " - " -NoNewline; write-host $obj.GetValue('DisplayVersion')}
请查看此页面以获得更多信息:
https://www.codetwo.com/admins-blog/how-to-check-installed-software-version/
小费!在深入研究之前,先手动浏览注册表中的这些位置,因为它将帮助您查看结构并了解可用的属性。如果你想要的信息不存在,你可以放弃这个建议。
发布于 2020-12-04 15:14:54
对于Windows 64位和32位应用程序
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table > C:\ws\apps.txt
C:\ws\apps.txt
需要由您调整到输出路径。
我在这里找到了这个主意,社会MS
https://stackoverflow.com/questions/65127535
复制相似问题