powershell 不支持真正批量一键加密/解密 bitlocker,必须逐个指定盘符并确认;可通过脚本简化多盘操作,但需满足系统版本、ntfs 格式等前提,且每次加密均需交互输入密码或备份恢复密钥。
windows 中 powershell 可以批量操作 bitlocker 加密状态,但不支持真正意义上的“批量一键解密/加密多个分区”——必须逐个指定盘符,且每个操作需独立确认或等待完成。不过通过脚本可简化重复流程,提升效率。
先确认哪些盘被 BitLocker 加密了
这是所有操作的前提。打开Windows PowerShell(管理员),运行:
-
manage-bde -status—— 查看所有驱动器的加密状态和进度 - 或用更清晰的格式:
Get-BitLockerVolume | Select-Object MountPoint, ProtectionStatus, EncryptionPercentage
输出中显示 ProtectionStatus: Protected 的分区就是已加密的,比如 C:、D:;显示 Off 或 Unknown 的则未启用。
逐个解密指定盘符(推荐用于 C 盘扩容前)
解密不会删除文件,但耗时较长(取决于数据量),中途断电有风险。命令示例:
- 解密 C 盘:
manage-bde -off C: - 解密 D 盘:
manage-bde -off D: - 查看进度(反复执行):
manage-bde -status C:
注意:若提示“自动解锁已启用”,需先清除密钥再解密:manage-bde -autounlock -ClearAllKeys C:
逐个加密多个分区(需满足系统版本与硬件要求)
BitLocker 加密仅支持 Windows 专业版/企业版及以上,且目标分区必须是 NTFS 格式。加密命令不能跳过密钥备份步骤:
- 为 D 盘设置密码并加密:
manage-bde -on D: -Password(执行后会提示输入密码) - 为 E 盘启用并自动使用 TPM(如有):
manage-bde -on E: -RecoveryPasswordProtector - 加密时强制覆盖整个驱动器(适合二手盘):
manage-bde -on F: -EncryptionMethod AES256 -UsedSpaceOnly 0
⚠️ 每次加密都会弹出交互提示,无法完全静默执行;恢复密钥必须导出或保存到 Microsoft 账户,否则命令会失败。
用 PowerShell 脚本简化多盘操作(进阶建议)
如果你有多个数据盘(如 D:/E:/F:)需要统一处理,可写简短脚本避免重复敲命令:
- 解密多个盘(安全起见,建议加 -WhatIf 预览):
$drives = "D:", "E:", "F:"<br>foreach ($d in $drives) { manage-bde -off $d } - 加密前检查是否 NTFS:
Get-Volume | Where-Object {$_.DriveLetter -in "D","E"} | ForEach-Object { if ($_.FileSystem -ne "NTFS") { Write-Warning "$($_.DriveLetter): 不是 NTFS,跳过" } else { manage-bde -on "$($_.DriveLetter):" -Password } }
? 提示:脚本运行前务必手动备份关键数据;生产环境建议先在单盘测试;家庭版系统不支持 manage-bde 命令,需升级或改用第三方工具。











