首页 > 解决方案 > 自动解锁所有 Bitlocker 驱动器的脚本

问题描述

我正在尝试编写多台 PC 上多个驱动器的自动解锁脚本。

我正在使用 Bitlocker 外部密钥进行解锁,而不是恢复密码。

命令是:

manage-bde -unlock h: -rk "K:\%BITLOCKER-EXTERNAL-KEY%"

BL 的外部密钥存储为 *.BEK 文件。我所有的都存储在我加密的 USB 驱动器的根目录中。

我需要一个脚本,它将循环遍历每个 BEK 文件,在变量中替换它,只有在成功解锁后才会停止。

我相信成功的解锁是错误级别 0。

我有大约 60 个 BEK 文件,如果没有这个脚本,我需要手动处理每个文件。除了将大量文件循环到变量中之外,我还可以编写大部分代码。

谢谢

标签: windowsbatch-filecommand-linebitlocker

解决方案


稍微延迟,但最终想出了以下解决方案:可能需要一段时间才能执行,因为它循环执行相同的命令,但它可以工作。

:UNLOCKDRIVESAUTOMATICALLY
setlocal enableDelayedExpansion
SET _SECUREUSB_DRIVE_LETTER=E:
CD /D "%~dp0"
CLS
ECHO/Automatic Bitlocker Unlock
ECHO/
ECHO/Unlocking drives...
ECHO/
ATTRIB -h -s "%_SECUREUSB_DRIVE_LETTER%\*.bek"
for %%a in (*.bek) do (manage-bde -unlock c: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock d: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock e: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock f: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock g: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock h: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock i: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock j: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock k: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock l: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock m: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock n: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock o: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock p: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock q: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock r: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock s: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock t: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock u: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock v: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock w: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock x: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock y: -rk %~dp0%%a) > nul 2>&1
for %%a in (*.bek) do (manage-bde -unlock z: -rk %~dp0%%a) > nul 2>&1
ATTRIB +h +s "%_SECUREUSB_DRIVE_LETTER%\*.bek"
ECHO/
ECHO/Complete.
endlocal disableDelayedExpansion
pause
GOTO :END

推荐阅读