Продолжая свое исследование, которое я объяснил в самом вопросе, я продолжил изучение этого вопроса.
Использование командлета PowerShell, Unlock-Bitlocker
поскольку его код доступен в виде открытого текста на каждом компьютере с Windows.
Первая ошибка во время выполнения командлета происходит при вызове:
Get-CimInstance -Namespace "root\cimv2\Security\MicrosoftVolumeEncryption" ` -ClassName Win32_EncryptableVolume
Я получаю Access Denied
@Homey_D_Clown_IT предложил изменить защиту для рассматриваемого объекта WIM, для этого откройте wmimgmt.msc
, щелкните правой кнопкой мыши WMI Control (Local)
узел слева и щелкните Properties
. Выберите Security
вкладку и затем найдите объект Root\CIMV2\Security\MicrosoftVolumeEncryption
, нажмите Security
кнопку. Добавьте группу или пользователя, которому вы хотите разрешить разблокировку заблокированных дисков. Проверьте Execute Methods
разрешение Разрешить .
После этого обычный пользователь может использовать manage-bde.exe
инструмент для разблокировки диска:
manage-bde -unlock X: -pw
проблема в том, что это запрашивает пароль у пользователя, и в настоящее время у меня есть четыре устройства для разблокировки, и я предпочел бы ввести пароль только один раз.
Использование командлета Unlock-Bitlocker в PowerShell теперь получает предыдущую ошибку, но отображает еще одну:
Доступ запрещен в Get-BitLockerVolumeInternal ...
Рассматривая код модуля PowerShell, он ломается в тот момент, когда код пытается получить доступ к паролю восстановления, что может сделать только администратор. Если я изменю код, чтобы проигнорировать эту ошибку и просто продолжить, а не ломать ее, она будет работать нормально.
Но это плохой взлом, потому что мне пришлось взять на себя ответственность за файл модуля, изменить разрешения и затем отредактировать код. Все, что я не должен делать с системным файлом Windows, плюс в следующий раз, когда Microsoft обновит этот модуль PowerShell, мои изменения будут перезаписаны.
Одним из решений является копирование соответствующих фрагментов кода в мой собственный модуль PowerShell и использование его вместо этого. Это может даже не быть законным.
Другим решением является удаление пароля восстановления:
manage-bde -protectors -delete X: -type recoverypassword
Это оставляет мне только одну защиту для диска с блокировкой, обычный пароль.
Почему рекомендуется удалить пароль восстановления с жесткого диска с данными, зашифрованного с помощью BitLocker?
Любой администратор может увидеть пароль восстановления и использовать его для расшифровки диска, WFT!
Вся моя цель была защитить данные на дисках от других людей. Кто-то может украсть мой компьютер, загрузиться в Linux с live-CD и получить доступ к учетной записи администратора при установке Windows.
После того, как я удалил пароли восстановления, я могу использовать исходный Unlock-Bitlocker
командлет в качестве обычного пользователя для разблокировки моих дисков. Мне все еще нужно было изменить разрешения для объекта WMI, как описано выше.
Изменить: После обновления Windows 10, в этом случае 14939.222
разрешения на root\cimv2\Security\MicrosoftVolumeEncryption
были сброшены, и мне пришлось изменить их снова. Так что, похоже, это не окончательное решение.
Из-за этого сброса Центра обновления Windows я решил написать сценарий изменения для разрешения WMI. Я использую, Set-WmiNamespaceSecurity.ps1
который доступен в этом блоге Microsoft, то я могу использовать:
.\Set-WmiNamespaceSecurity.ps1 -namespace "root/cimv2/Security/MicrosoftVolumeEncryption" -operation add -account MyUserName -permissions MethodExecute,Enable