我有点难过,希望有人可以帮助我。我正在尝试收集计算机上已安装软件的列表(包括可能已手动安装的软件),当用户选择要删除的内容时,我想查询软件中心以查看是否是在那里尝试从注册表运行UninstallString之前先从那里删除。
这些查询为我提供了我在机器上安装的内容和软件中心可用内容所需的数据,但是我似乎无法找到将2与名称相关联的内容(完整,显示,产品等变体)在我的环境中,软件中心中列出的名称并不总是与实际安装和放入A / R程序中的名称相匹配。
如何将我安装的内容连接到软件中心列出的内容?
软件中心:Get-WmiObject -ComputerName $Machine -ClassName CCM_Application -Namespace "root\ccm\clientSDK"
已安装的软件:Get-WmiObject -ComputerName $Machine -Namespace "root\cimv2\sms" -Class SMS_InstalledSoftware
编辑:为了澄清,我需要以某种方式允许用户选择安装在机器上的软件,然后根据该选择(如果存在)从软件中心触发该软件的卸载方法。这里的困难部分是名称不同,所以特别是对于SQL或类似名称的应用程序,我需要一些东西来明确地选择正确的东西来触发软件中心的删除。