windows - 如何使用 Powershell 在控制面板的“程序和功能”中获取“查看已安装的更新”列表?
问题描述
尝试获取所有已安装的更新(包括 Acrobat 等第三方应用程序的更新),可以通过单击控制面板中“程序和功能”中的“查看已安装的更新”来查看。
以下方法没有帮助,可能是因为它们仅限于 Microsoft/Windows:
New-Object -ComObject Microsoft.Update.Session
Get-WmiObject Win32_QuickfixEngineering
谢谢
解决方案
我找到了以下选项:
$x = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like "*foo*" }
$y = Get-ItemProperty HKLM:\SOFTWARE\Classes\Installer\Dependencies\* | Where-Object {$_.DisplayName -like "*foo*" }
在 $x 中,您拥有来自“卸载程序”的软件,在 $y 中,您拥有来自“已安装更新”的更新。
我对此不太满意,我想知道 windows 是如何将 $x 和 $y 链接在一起的,而无需简单地搜索名称。
也许有人可以为我们修复缺失的部分:-)
编辑
我找到了解决方案:
Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.ParentDisplayName -like "*foo*" }
这将返回一个对象,其中ParentDisplayName
是您的程序并且DisplayVersion
是更新版本。
推荐阅读
- javascript - onclick 函数给了我“找不到变量:函数名”并且不起作用
- apache-camel - 如何在 apache camel 中执行 gcp pubsub 消息的并行处理
- javascript - 从两个不同的对象数组中选择数据以创建一个新的对象数组
- scikit-learn - scikit学习中是否有任何内置的线性内核库,如RBF,SE?
- nginx - 为什么在 nginx 入口(反向代理)和重写目标上重定向(服务器端)到 root
- c - 在 C 中将函数转换为具有不同数量参数的另一个函数
- python - Python:需要关于函数的帮助
- r - 将 1 列 tibble 列表与单个 1 列 tibble 进行比较
- node.js - await 仅在 nodejs 的异步函数中有效
- arrays - 在逻辑应用中加入两个数组