c#锁定Bitlocker加密驱动器

c#锁定Bitlocker加密驱动器,c#,cmd,C#,Cmd,我有以下C#代码来使用Bitlocker锁定特定驱动器。我正在使用Windows命令提示符命令:manage bde-lock G:(我要锁定的驱动器)。但是,在程序结束时,我的驱动器仍保持解锁状态。 我的代码: 该实用程序是什么:runasuser? 我只知道runas startInfo.Verb=“runas” x64环境中存在一个问题: 在大多数情况下,每当32位应用程序尝试访问%windir%\System32时,访问将重定向到%windir%\SysWOW64 因此,您需要以这种方式

我有以下C#代码来使用Bitlocker锁定特定驱动器。我正在使用Windows命令提示符命令:
manage bde-lock G:
(我要锁定的驱动器)。但是,在程序结束时,我的驱动器仍保持解锁状态。 我的代码:

  • 该实用程序是什么:
    runasuser
    ? 我只知道
    runas
  • startInfo.Verb=“runas”

  • x64环境中存在一个问题:
  • 在大多数情况下,每当32位应用程序尝试访问%windir%\System32时,访问将重定向到%windir%\SysWOW64

    因此,您需要以这种方式调用
    managebde

    startInfo.Arguments=“/C%windir%\\sysnative\\manage bde-lock G:”

  • 该实用程序是什么:
    runasuser
    ? 我只知道
    runas
  • startInfo.Verb=“runas”

  • x64环境中存在一个问题:
  • 在大多数情况下,每当32位应用程序尝试访问%windir%\System32时,访问将重定向到%windir%\SysWOW64

    因此,您需要以这种方式调用
    managebde


    startInfo.Arguments=“/C%windir%\\sysnative\\manage bde-lock G:”

    可能无法解决此问题,但您不需要在调用
    cmd
    时包装
    manage bde
    。只需尝试
    startInfo.FileName=“manage-bde”;startInfo.Arguments=“-lock G:”
    还可以尝试以管理员身份运行,而不仅仅是另一个用户。可能无法解决此问题,但您不需要在调用
    cmd
    时包装
    manage-bde
    。只需尝试
    startInfo.FileName=“manage-bde”;startInfo.Arguments=“-lock G:”
    还可以尝试
    Verb=“runas”
    以管理员身份运行,而不仅仅是另一个用户。
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.WorkingDirectory = @"C:\Windows\System32";
            startInfo.FileName = @"C:\Windows\System32\cmd.exe";
            startInfo.Arguments = "/C manage-bde -lock G:";
            startInfo.Verb = "runasuser";
            Process.Start(startInfo);