Вопрос или проблема
Мы хотели бы зашифровать диск C (полное шифрование диска), указав стартовый пароль (мы согласны с тем, что он будет в виде обычного текста, это временно) и просто сохранить ключ восстановления на рабочем столе. На данный момент работает определение необходимости шифрования:
set "sENCRYPTION_METHOD=NONE"
for /F "tokens=1*" %%G in ('MANAGE-BDE -STATUS ^| FIND /I "ENCRYPTION_METHOD:"') do set "sENCRYPTION_METHOD=%%~H"
IF "%sENCRYPTION_METHOD%"=="NONE" (
GOTO :NotEncrypted
) ELSE (
GOTO :Encrypted
)
:Encrypted
cls
echo You are Encrypted.
goto :Verify365
:NotEncrypted
cls
echo You are not Encrypted.
Сложность возникает при определении методов шифрования диска C. Я пытался читать https://technet.microsoft.com/en-us/library/ff829848.aspx и пробовал различные варианты, но пока не получаю ожидаемых результатов. Наши ноутбуки не имеют TPM, поэтому мы должны вручную включать BitLocker в gpedit.msc (мы позже разрабатываем скрипт для этого), затем пытаемся выполнить что-то вроде этого:
manage-bde -on C: -Recoverypassword > %USERPROFILE%\Desktop\PRINT_AND_DELETE.txt -SkipHardwareTest -password
Однако запрос на ввод желаемого пароля выводится в .txt файл вместо стандартного пароля, который мы хотим указать. Если я пытаюсь указать пароль после -password, я получаю синтаксическую ошибку. Но после прочтения статьи я не вижу, где еще это может быть указано.
Кто-нибудь здесь знаком с manage-bde и может перевести то, что мы пытаемся сделать, в код? Большинство из нас довольно новы в Windows Batch.
Вы упоминаете, что хотите установить стартовый пароль, но ваш код пытается установить и сохранить/сохранить пароль восстановления. Если вы хотите установить стартовый ключ, используйте параметр -startupkey.
Для паролей восстановления вы можете позволить системе выбрать случайный и затем экспортировать его:
manage-bde -on C: -recoverypassword -skiphardwaretest
manage-bde -protectors -get C: > "\\path\to\folder"
Или выберите свой пароль и просто отслеживайте его в другом месте, нет необходимости в экспорте (меньше хлопот, но, возможно, менее безопасно; вопрос для обсуждения в другой раз…):
manage-bde -on C: -recoverypassword 'XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX' -skiphardwaretest
Если вы выбираете свой ключ, имеются некоторые требования:
Пароль должен содержать ровно 48 цифр, которые могут быть разделены на 8
групп по 6 цифр в каждой. Используйте дефис (-) для разделения групп по 6 цифр в
командной строке.
Каждая группа из 6 цифр в 48-значном числовом пароле должна:
- Делится на 11
- Быть меньше 720896
Например, “000000” является допустимой группой из 6 цифр.
Недопустимые группы включают “123456”, “720896” и “888888”.
.
Ответ или решение
Для автоматизации процесса шифрования диска C: с помощью BitLocker через файл батч, вы можете использовать следующую инструкцию. Вашей задачей является проверка, требуется ли шифрование, а также настройка шифрования с заданием пароля при запуске и резервное копирование ключа восстановления на рабочий стол.
Шаги по автоматизации шифрования диска C:
1. Проверка, требуется ли шифрование
Используем приведенный ниже скрипт для проверки статуса шифрования:
set "sENCRYPTION_METHOD=NONE"
for /F "tokens=1*" %%G in ('MANAGE-BDE -STATUS ^| FIND /I "ENCRYPTION_METHOD:"') do set "sENCRYPTION_METHOD=%%~H"
IF "%sENCRYPTION_METHOD%"=="NONE" (
GOTO :NotEncrypted
) ELSE (
GOTO :Encrypted
)
:Encrypted
cls
echo Диск зашифрован.
goto :EOF
:NotEncrypted
cls
echo Диск не зашифрован.
2. Шифрование диска C с использованием пароля запуска и создание ключа восстановления
Важно отметить, что BitLocker без TPM требует установки политики через gpedit.msc
, что не автоматизируется батч-скриптом. После этого делается следующее:
:StartEncryption
set "STARTUP_PASSWORD=Ваш_Пароль" REM замените на ваш стартовый пароль
set "RECOVERY_KEY_PATH=%USERPROFILE%\Desktop\recovery_key.txt"
manage-bde -on C: -password %STARTUP_PASSWORD% -skiphardwaretest
if %ERRORLEVEL% neq 0 (
echo Ошибка при включении BitLocker. Проверьте параметры и попробуйте снова.
goto :EOF
)
manage-bde -protectors -get C: > "%RECOVERY_KEY_PATH%"
if %ERRORLEVEL% neq 0 (
echo Не удалось сохранить ключ восстановления. Проверьте наличие достаточного места и доступа.
goto :EOF
)
echo Шифрование успешно началось. Ключ восстановления сохранён в "%RECOVERY_KEY_PATH%".
Обратите внимание:
-
Задание пароля при запуске: Команда
manage-bde -on
в текущей версии Windows не поддерживает явное задание стартового пароля через командную строку. Обычно пароль вводится интерактивно. Используемые в скрипте команды являются иллюстративными; полноценное автоматизированное задание обзаводится иными способами, такими как PowerShell или через задания GPO. -
Создание резервной копии ключа: Ключ восстановления экспортируется и сохраняется на рабочем столе пользователя, что может быть полезно для восстановления доступа к зашифрованному диску в случае утери пароля.
Данный скрипт ориентирован на опытных IT специалистов и требует администраторских прав на выполнение данных команд. Убедитесь, что изменения в политике безопасности на локальной машине выполнены корректно до запуска этого скрипта.