Bitlocker脚本以解锁驱动器

10

我想实现的目标是创建一个非常小的脚本来使用密码而不是恢复密码解锁我的BitLocker驱动器。

微软有一个相关的命令:

manage-bde -unlock D: -password

这里的D是我的BitLocker驱动器。如果我运行这个命令行,它会要求我输入密码,然后驱动器就会被正确解锁。

起初我想创建一个变量来向用户询问密码,然后在上述命令行中使用这个变量,以便脚本看起来像:

set /p pass= what is your pass
manage-bde -unlock D: -password %pass%
问题在于-password似乎不接受任何参数,无论是变量还是明文密码都会失败。因此,唯一使其工作的方法似乎是自动回复提示输入密码,并将数据存储在变量中。但我不知道如何做到这一点。我假设在manage-dbe后面需要添加一条额外的命令行。我的编程技能相当弱,因此任何帮助都将不胜感激。
8个回答

12

可能晚了一些,但像这里提到的那样,如果您没有使用PowerShell的任何问题,您可以只用几行代码轻松完成此操作:

PS C:\> $SecureString = ConvertTo-SecureString "fjuksAS1337" -AsPlainText -Force
PS C:\> Unlock-BitLocker -MountPoint "E:" -Password $SecureString

你救了我的命。非常感谢你! - S.A.

4

除了使用 Unlock-BitLocker,您还可以提示输入安全字符串,而不是将其放入脚本中:

$key = Read-Host 'Enter Bitlocker Password!' -AsSecureString

Unlock-Bitlocker -MountPoint "Y:" -Password $key
Unlock-Bitlocker -MountPoint "Z:" -Password $key

恰好是我想要的。你真是一个超级巨星。谢谢! - ChiragMS

1
抱歉,回复晚了。但对于任何想要做这件事的人,不需要使用恢复密码。像那样硬编码恢复密码会使使用 Bitlocker 的目的完全失败。
我编写了一个非常简单的脚本,它可以工作。它需要管理员权限(我不会详细解释)。可以使用任务计划程序 (schtasks.exe) 绕过这一点,但我不想在这里介绍这个方法。
该脚本假设您知道哪些字母被分配给了 Bitlocker 卷。您可以通过验证输入的字母等方式使此脚本更加高级。
将代码保存为 .CMD 文件扩展名的文件,最好保存到您系统或用户路径中的某个目录中。要调用脚本,只需输入 [脚本名称] [Bitlocker 卷字母]。例如,unlock x。不要包括尾随分号。
记住,它需要特权提升
@echo off & cls

set Volume=%1:

echo.

manage-bde.exe -unlock -password %Volume%

echo. & pause & echo.

:: End of script

0

只需在记事本中编写此代码,然后将其保存为 .bat 文件。

然后,您可以在 任务计划程序 中设置新任务以在启动时运行脚本。别忘了勾选任务选项 以管理员身份运行

@echo off
manage-bde D: -unlock -recoverypassword XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX
pause

0

前往控制面板 -> 管理 Bitlocker 并使用密码解锁您的 D 盘。

将恢复密钥备份到文件中。在该文件中保存恢复密钥(例如:240536-642752-211409-491690-520026-693407-016863-529159)。

使用以下命令自动化该过程: manage-bde -unlock D: -recoverypassword 240536-642752-211409-491690-520026-693407-016863-529159


0

只需制作一个如下所示的批处理文件并将其添加到启动文件夹中,每次启动时驱动器都会自动解锁。

备注:

  • 您必须使用恢复密钥而不是密码。
  • 我使用此脚本是因为我的 C 驱动器受 Safeboot(而不是 BitLocker)加密,第二个内部硬盘受 BitLocker 保护。
  • 即使这只是恢复密钥而不是实际密码,使用此类数据在脚本中仍存在风险!

cscript C:\Windows\System32\manage-bde.wsf -unlock d: -recoverypassword 215270-XXXXXX-345807-005038-278652-077022-634964-379346


0

微软可能已经更改了一些内容。这里是一个代码片段,适用于加密驱动器,并提供挂载点以供以后使用(例如- F: 或 X:)

$pass = Read-Host "Password for $devVHD" -AsSecureString
mount-diskimage -ImagePath $devVHD
$unlckDrive = (Get-BitLockerVolume | where {$_.CapacityGB -eq 0}).mountpoint
Unlock-BitLocker -MountPoint $unlckDrive -Password $pass    

-1

使用-recoverypassword开关并编写您的恢复密码,这对我有效;)

编辑:manage-bde -unlock D: -recoverypassword manage-bde -unlock D: -recoverypassword XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX


3
最好能够发布完整的命令才好,;-) - Jost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接