从各种线程中,我拼凑出如何以编程方式检查 BitLocker,如下所示:
private void TestBitLockerMenuItem_Click(object sender, RoutedEventArgs e) {
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());
foreach (var item in objectSearcher.GetInstances()) {
MessageBox.Show(item["DeviceID"].ToString()+" "+item["ProtectionStatus"].ToString());
}
}
但它只有在进程具有管理员权限时才有效。
任何老 Windows 用户都可以转到资源管理器,右键单击驱动器,然后查看它是否已打开 BitLocker,这似乎很奇怪,但程序似乎无法完成此操作。有谁知道这样做的方法?