从脚本调用 BitLocker 解锁 GUI

从脚本调用 BitLocker 解锁 GUI

在脚本中,我需要一种方法让用户解锁 BitLocker 加密卷。

当前,用户在 PowerShell 控制台窗口 ( $key = Read-Host 'BitLocker Password for $($path)' -AsSecureString) 中输入密码,然后使用 cmdlet 解锁 BitLocker 卷Unlock-Bitlocker

我想要的是一个用于解锁卷的“更自然”的标准 GUI 提示,如下所示:

解锁 BitLocker GUI 提示

有没有办法从.cmd/.ps1脚本调用此 GUI?我正在考虑类似的事情:

  • 启动可执行文件,即some-bitlocker-gui.exe /unlock C:\SomeSecurePath /askuserforpassword
  • PowerShell 命令
  • 调用某个 DLL 中的函数

但任何显示本机 GUI 的方式都是合适的。

重要提示:这不仅适用于驱动器号(如D:),而且为了作为 NTFS 文件夹安装的卷以及C:\SomeSecurePath如截图所示):

卷装载为 NTFS 文件夹

答案1

所需的命令是

bdeunlock \\?\Volume{123e4567-e89b-12d3-a456-426614174000}\ 

其中{123e4567-e89b-12d3-a456-426614174000}是所需 BitLocker 卷的卷标识符。

可以使用以下方法获取卷标识符

$(Get-BitLockerVolume)[1].MountPoint

PowerShell 命令,其中1是卷编号(从零开始)。

信用: @swbbl, 作为在此评论中建议

答案2

不;该模态对话框是在 BitLocker 管理代码中编程的。

除了编写自己的代码之外,您还可以编写代码并将其发送到 Show-Command 以获取 GUI,以便用户输入内容。

文件夹/网络共享不是驱动器,无论用户机器上的驱动器映射如何。它只是一个指针。

BitLocker 是完整驱动器或注意。BitLocker 意味着 FDE(完整驱动器加密),这是有原因的。访问 BL 驱动器要么全部访问,要么全部不访问。BitLocker 的设计初衷是为了防止离线攻击。一旦 BitLocker 驱动器启动,每个可以看到它的人都可以访问它。您不能将驱动器(映射)BitLocker 给用户。

如果您的存储服务器支持 iSCI,则可以将其作为 iSCI 而不是 SMB 连接到驱动器。当然,BitLocker 的使用是使用 iSCI 驱动器的原生功能。

或者,考虑使用 BitLocker 创建虚拟磁盘驱动器文件并将其存储在 SMB 网络驱动器上。共享文件夹加密,您需要其他工具。

相关内容