windows - PS : Emulate CCleaner "Uninstall" tool to list programs installed on PC

标签 windows powershell registry

CCleaner 包含一个用于列出并卸载 PC 上的程序的工具。该列表似乎比浏览 uninstall registry keys 更全面地包含应用程序。 。 Atom(开源文本编辑器)就是一个例子。该程序不会出现在卸载注册表中,而是安装在用户的 AppData 文件夹中(我不知道如何在不构建自定义包的情况下 install this for all users )。

我编写了一个定期安装和更新某些软件包的脚本。这使我可以轻松地让它们保持最新状态,而无需每周访问十几个网站或 building a custom installer每次我想更新它们时(它们不像 Chrome 或 Firefox 那样自动更新)。因此,我需要一个可以动态创建并用于检查更新以及是否需要执行安装程序的列表。

所以我的问题是:如何以编程方式模拟 CCleaner 创建卸载程序列表时的操作?我可以执行 GUI 并导航到卸载工具,然后单击“保存到文本文件”,但这不是动态的。任何允许我捕获(在 Powershell 脚本中)CCleaner 在卸载工具中生成的相同应用程序列表的答案都是可以接受的。

最佳答案

您也可以使用Get-Package列出已安装的程序。它将列出 Atom。您可能需要将注册表方法与 Get-Package 结合起来,以防它未显示全部内容。

Get-Package | Where-Object name -like *atom*

Name       Version     Source      ProviderName                                                                                                 
----       -------      ------     ------------                                                                                                 
Atom       1.53.0                  Programs  

关于windows - PS : Emulate CCleaner "Uninstall" tool to list programs installed on PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64931791/

相关文章:

sql-server - Backup-SQLDatabase cmdlet 中的超时问题

windows - 文件夹锁定的工作原理

windows - 通过批处理文件将参数(目录名)从 MATLAB 传递到 WinSCP 脚本

C# 控制台 Toast 停止显示通知

windows - WASM/Yew - 无法解析 : could not find `unix` in `os`

powershell - Powershell中的“选项”菜单:循环后继续

powershell - ADFS PowerShell : Scripting Web API (Add-AdfsWebApiApplication) with RuleTemplate in IssuanceTransformRules

delphi - 如何让管理员设置用户无法更改的程序选项?

c# - .Net 应用程序根据传递的时区语言读取时区注册表

c++ - windows下如何设置Qt程序的图标?