0

我需要使用 shell 命令在 Windows 设备中获取所有已安装的应用程序及其详细信息。我尝试使用

  1. 获取-appxpackage
  2. 获取 WmiObject
  3. wmic

列表中似乎缺少手动安装的应用程序。请提供更好的方法来帮助。

4

2 回答 2

0

另一种方法是像这样查询注册表,例如:

# 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-03T20:35:12.707 回答
0

对于 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由你调整,到你的输出路径。

我在这里找到了这个想法,Social MS

于 2020-12-04T15:14:54.160 回答