可以通过 WMI 的 Win32_Product 类访问旨在使用 Windows Installer 的应用程序,但当今使用的所有应用程序并非都使用 Windows Installer。 使用替代安装例程的应用程序通常不由 Windows Installer 管理。 用于使用这些应用程序的特定技术取决于安装程序软件和应用程序开发人员做出的决策。 例如,通常不能使用此处讨论的技术来管理通过将文件复制到计算机上的文件夹安装的应用程序。 你可以使用在使用文件和文件夹中讨论的技术将这些应用程序作为文件和文件夹进行管理。

若要列出随 Windows Installer 一起在本地或远程系统上安装的应用程序,请使用以下简单的 WMI 查询:

Get-CimInstance -Class Win32_Product |
  Where-Object Name -eq "Microsoft .NET Core Runtime - 2.1.5 (x64)"

若要将 Win32_Product 对象的所有属性显示到显示屏中,请使用格式设置 cmdlet(例如 Format-List cmdlet)的“Property” 参数,值为 *(全部)。

Get-CimInstance -Class Win32_Product |
  Where-Object Name -eq "Microsoft .NET Core Runtime - 2.1.5 (x64)" |
    Format-List -Property *

或者,可以使用 Get-CimInstanceFilter 参数来仅选择 Microsoft .NET 2.0 运行时。 “Filter” 参数的值使用 WMI 查询语言 (WQL) 语法,而不是 Windows PowerShell 语法。 例如:

Get-CimInstance -Class Win32_Product -Filter "Name='Microsoft .NET Core Runtime - 2.1.5 (x64)'" |
  Format-List -Property *

若要仅列出你感兴趣的属性,请使用格式设置 cmdlet 的“Property” 参数列出所需的属性。

Get-CimInstance -Class Win32_Product  -Filter "Name='Microsoft .NET Core Runtime - 2.1.5 (x64)'" |
  Format-List -Property Name,InstallDate,InstallLocation,PackageCache,Vendor,Version,IdentifyingNumber