WMI代码造物主BitLocker的状态 - 在哪里我会错呢?(WMI Code Creator f

2019-10-23 07:29发布

我与WMI代码造物主工作和代码看起来可以从应用程序正常工作。 然而,它配备了内部错误我的代码,我似乎无法撼动。 我应该有这个工作的参考? 如果是的话我在哪里可以买到呢?

    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher =
                    new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftVolumeEncryption",
                    "SELECT * FROM Win32_EncryptableVolume");

                foreach (System.Management.ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_EncryptableVolume instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("ProtectionStatus: {0}", queryObj["ProtectionStatus"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }


(点击图片放大)

Answer 1:

如果您搜索的MSDN为ManagementObjectSearcher你这个页面 。 对.NET类的每个MSDN页面,你会看到两条信息在页面的顶部。

命名空间 :System.Management
大会 :System.Management(在System.Management.dll)

第一行告诉你,你需要添加using System.Management; 还是System.Management.ManagementObjectSearcher如果要引用的对象。

第二行告诉你你的项目必须引用文件System.Management.dll为您的代码,以便能够找到类。 如果你在搜索添加引用对话框 ,你需要寻找System.Management列表(括号外的部分)。


你的问题的第二部分是你有一个叫做类ComplianceGuide.ManagmentObject在你的项目和Visual Studio是采摘了参考,而不是System.Management.ManagementObject ,以取代你的foreach

foreach (System.Management.ManagementObject queryObj in searcher.Get())

迫使它使用正确的类。



文章来源: WMI Code Creator for Bitlocker Status - where did i go wrong?