我需要使用 shell 命令在 Windows 设备中获取所有已安装的应用程序及其详细信息。我尝试使用
- 获取-appxpackage
- 获取 WmiObject
- wmic
列表中似乎缺少手动安装的应用程序。请提供更好的方法来帮助。
我需要使用 shell 命令在 Windows 设备中获取所有已安装的应用程序及其详细信息。我尝试使用
列表中似乎缺少手动安装的应用程序。请提供更好的方法来帮助。
另一种方法是像这样查询注册表,例如:
# 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/
小费!在深入研究之前手动浏览注册表中的这些位置,因为它将帮助您查看结构并了解可用的属性。如果您正在寻找的信息不存在,您可能会放弃此建议。
对于 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