使用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());                
        }

我的问题是,我只能得到我在客户端加入域之前安装的软件列表。在连接到域后,任何东西都安装在客户端上,我在查询中没有看到它。

使用Win32_Product类时缺少软件条目

我用远程注册表代替WMI解决了这个问题。