以编程方式挂起Bitlocker?

时间:2010-08-12 10:43:23

标签: .net encryption

有没有办法以编程方式从.NET挂起Bitlocker?

3 个答案:

答案 0 :(得分:1)

命令行:

manage-bde -protectors -disable <drive letter>:
manage-bde -protectors -enable <drive letter>:

Powershell(WMI)

$bitlocker = Get-WmiObject -Namespace root\cimv2\Security\MicrosoftVolumeEncryption -Class Win32_EncryptableVolume
$bitlocker.DisableKeyProtectors()
$bitlocker.EnableKeyProtectors()

C#

using System.Management // add reference
// ...

// disable Bitlocker
ManagementObject classInstance = new ManagementObject(@"root\cimv2\Security\MicrosoftVolumeEncryption", "Win32_EncryptableVolume.DriveLetter='C:'", null);
ManagementBaseObject outParams = classInstance.InvokeMethod("DisableKeyProtectors", null, null);

// enable Bitlocker
outParams = classInstance.InvokeMethod("EnableKeyProtectors", null, null);

答案 1 :(得分:0)

Win32EncryptableVolume WMI提供程序使用DisableKeyProtectors方法挂起卷上的BitLocker保护。

答案 2 :(得分:-1)

编辑:找到更好的答案。

实际上有一个名为Win32_EncryptableVolume的WMI类可能用于以一种很好的方式执行此操作。它有一个可能有用的Decrypt方法。

下面的旧答案

在Windows 7中,查看工具manage-bde.exe,在Vista中查看脚本manage-bde.wsf

假设他们可以做你想做的事,你应该可以使用.Net应用程序中的相关参数来调用它们。