有没有办法以编程方式从.NET挂起Bitlocker?
答案 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应用程序中的相关参数来调用它们。