Win32_EncryptableVolume在C#中获取bitlocker状态

时间:2013-08-15 12:46:43

标签: c# wmi status

在c#中,我使用以下代码获取BitLocker的状态。 当我运行脚本时说:管理异常未处理。 有什么想法吗?

ManagementClass objectSearcher;
            List<string> BitLocker = new List<string>();

            objectSearcher = new ManagementClass("Win32_EncryptableVolume");
            foreach (var item in objectSearcher.GetInstances())
            {
                try
                {
                 BitLocker.Add(item["DeviceID"].ToString());
                 BitLocker.Add(item["ProtectionStatus"].ToString());

                }
                catch
                {
                    BitLocker.Add("Error, could not retrieve data. \n");
                }

            }
     

Image1

1 个答案:

答案 0 :(得分:3)

我认为您需要先设置路径和范围,例如:

var path = new ManagementPath(@"\ROOT\CIMV2\Security\MicrosoftVolumeEncryption") { ClassName = "Win32_EncryptableVolume" };
var scope = new ManagementScope(path);
path.Server = Environment.MachineName;
var objectSearcher = new ManagementClass(scope, path, new ObjectGetOptions());