var path = new ManagementPath();
path.NamespacePath = "\\ROOT\\CIMV2\\Security\\MicrosoftVolumeEncryption"; path.ClassName = "Win32_EncryptableVolume";
var scope = new ManagementScope(path, new ConnectionOptions() { Impersonation = ImpersonationLevel.Impersonate });
var management = new ManagementClass(scope, path, new ObjectGetOptions());
foreach (ManagementObject vol in management.GetInstances())
{
Console.WriteLine("----" + vol["DriveLetter"]);
switch ((uint)vol["ProtectionStatus"])
{
case 0:
Console.WriteLine("not protected by bitlocker");
break;
case 1:
Console.WriteLine("unlocked");
break;
case 2:
Console.WriteLine("locked");
break;
}
if ((uint)vol["ProtectionStatus"] == 2)
{
Console.WriteLine("unlock this driver ...");
vol.InvokeMethod("UnlockWithPassphrase", new object[] { "here your pwd" });
Console.WriteLine("unlock done.");
}
}
नोट: यह केवल तभी काम करता है जब आप विजुअल स्टूडियो को व्यवस्थापक के रूप में चलाते हैं।
यदि आपके पास प्रमाण-पत्र (उपयोगकर्ता नाम और पासवर्ड) हैं तो आपको एक और समस्या है। –
http://stackoverflow.com/questions/5764174/unlock-local-computer-using-net –
का डुप्लिकेट वर्कस्टेशन को लॉक नहीं करना मेरी सिफारिश है। मेरा मतलब है, अगर आप इसे अनलॉक करना चाहते हैं तो बस इसे लॉक करने से बचें। –