使用Win32_Product类时缺少软件条目
本文关键字:软件 Win32 Product 使用 | 更新日期: 2023-09-27 18:13:28
我有Windows Server 2012R2运行域控制器的测试环境和Windows 7 SP1的客户端。
我使用这段代码是为了从客户端获取已安装软件的列表:
ManagementScope scope = new ManagementScope("''''10.0.0.101''root''cimv2");
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Product Where AssignmentType = 1");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject item in queryCollection)
{
Console.WriteLine("Name: " + item["Name"].ToString());
Console.WriteLine("PackageName: " + item["PackageName"].ToString());
Console.WriteLine("PackageCode: " + item["PackageCode"].ToString());
}
我的问题是,我只能得到我在客户端加入域之前安装的软件列表。在连接到域后,任何东西都安装在客户端上,我在查询中没有看到它。
我用远程注册表代替WMI解决了这个问题。