Многие компании используют преимущества функции шифрования дисков Microsoft BitLocker, встроенной в Windows Vista, Windows Server 2008 и последующие версии Windows. Чтобы зашифрованные диски были доступны для имеющих соответствующие полномочия сотрудников компании, разработчики Microsoft обеспечили возможность резервного копирования информации восстановления для BitLocker в Active Directory (AD). Дополнительные сведения можно найти в документации Backing Up BitLocker and TPM Recovery Information to AD DS (http://technet.microsoft.com/en-us/library/dd875529.aspx) на сайте TechNet.
Получение информации восстановления для BitLocker из графического интерфейса
Чтобы упростить управление компьютерами с включенной функцией шифрования BitLocker, компания Microsoft предоставила администраторам средство просмотра пароля восстановления BitLocker (http://technet.microsoft.com/en-us/library/dd875531.aspx). Этот инструмент (доступный в числе средств удаленного администрирования сервера) добавляет два элемента на консоль Active Directory Users and Computers («Пользователи и компьютеры Active Directory, ADUC»): вкладку BitLocker Recovery («Восстановление BitLocker») на странице свойств компьютера и пункт Find BitLocker Recovery Password («Поиск пароля восстановления BitLocker) в контекстном меню объекта домена. На экране 1 показана вкладка BitLocker Recovery для объекта-компьютера.
Экран 1. Вкладка BitLocker Recovery для объекта-компьютера |
Информация восстановления для BitLocker хранится в одном или нескольких дочерних объектах msFVE-RecoveryInformation (то есть объект-компьютер — родитель объекта msFVE-RecoveryInformation). Вы можете просматривать эти объекты AD, используя консоль редактирования ADSI Edit (adsiedit.mmc) и перейдя к объекту-компьютеру, как показано на экране 2. На экранах 1 и 2 мы видим два различных представления информации восстановления для BitLocker для одного объекта-компьютера.
Экран 2. Просмотр объектов msFVE-RecoveryInformation на консоли ADSI Edit |
Если вам необходим доступ к зашифрованному с помощью BitLocker диску, Windows отображает идентификатор пароля при загрузке. Чтобы найти пароль восстановления, связанный с идентификатором пароля, щелкните объект домена правой кнопкой мыши на консоли Active Directory Users and Computers и выберите Find BitLocker recovery password (см. экран 3).
Экран 3. Поиск пароля восстановления BitLocker |
На экране 4 показано диалоговое окно поиска пароля восстановления BitLocker. Введите первые восемь символов идентификатора пароля BitLocker, и в окне отобразится пароль восстановления.
Экран 4. Диалоговое окно поиска пароля восстановления BitLocker |
К сожалению, эти функции работают только из консоли ADUC, и Microsoft не предоставила эквивалентных команд PowerShell.
Получение информации восстановления для BitLocker из PowerShell
Компания Microsoft не предоставляет команд PowerShell для средства просмотра пароля восстановления BitLocker. На такой случай я подготовил сценарий the Get-BitLockerRecovery.ps1 (его можно найти по ссылке: https://gist.github.com/morisy/5b99e763d6b72f9b3e7c1747b6d0a1ee). Синтаксис сценария следующий:
Get-BitLockerRecovery [-Name][-Domain ] [-Server ] [-Credential ]
или
Get-BitLockerRecovery -PasswordID[-Domain ] [-Server ] [-Credential ]
В сценарии используются два набора параметров, определяющих его работу.
- Если указан список, содержащий одно или несколько имен компьютеров, сценарий показывает информацию восстановления BitLocker для соответствующих компьютеров. Параметр -Name соответствует просмотру свойств объекта-компьютера и выбору вкладки BitLocker Recovery на консоли ADUC. Параметр -Name предполагается сценарием по умолчанию, поэтому указывать его не обязательно.
- Если указан параметр -PasswordID, то необходимо ввести вместо имени восьмисимвольный идентификатор пароля. Параметр -PasswordID соответствует команде поиска пароля восстановления BitLocker (Find BitLocker recovery password) при щелчке правой кнопкой мыши на объекте домена на консоли ADUC.
Параметр -Domain указывает имя домена, если компьютеры находятся вне текущего домена, а параметр -Server задает имя конкретного контроллера домена, из которого нужно получить информацию восстановления для BitLocker.
По умолчанию только члены группы администраторов домена имеют доступ для просмотра информации восстановления для BitLocker, поэтому, если запустить Get-BitLockerRecovery.ps1 из учетной записи, не имеющей достаточных прав доступа, то сценарий выдаст значение N/A («Неприменимо») для свойств TPMRecoveryInformation, Date, PasswordID и RecoveryPassword. Это препятствие можно обойти, запустив сеанс PowerShell из другой учетной записи, имеющей разрешения, или воспользоваться параметром -Credential и указать другие учетные данные.
Сценарий выводит объекты со свойствами, приведенными в таблице.
В дополнение к имени компьютера, идентификатору пароля и паролю восстановления, сценарий Get-BitLockerRecovery.ps1 предоставляет свойства distinguishedName и TPMRecoveryInformation. Свойство distinguishedName помогает определить расположение объекта-компьютера в AD, а свойство TPMRecoveryInformation позволяет выяснить, выполнено ли архивирование информации восстановления для TPM компьютера в AD. На экране 5 показан пример выходного объекта.
Экран 5. Пример выходного объекта Get-BitLockerRecovery.ps1 |
Примеры команд
1. Получение информации восстановления для BitLocker для одного компьютера:
Get-BitLockerRecovery computer1
2. Получение информации восстановления для BitLocker для списка компьютеров:
Get-BitLockerRecovery "computer1","computer2"
или
"computer1","computer2" | Get-BitLockerRecovery
3. Получение информации восстановления для BitLocker для компьютеров в организационном подразделении (OU):
Get-ADComputer -Filter { name -like "*" } ` -SearchBase "OU=Sales,DC=fabrikam, DC=com" | Get-BitLockerRecovery
4. Получение информации восстановления для BitLocker для конкретного идентификатора пароля:
Get-BitLockerRecovery -PasswordID B1FED823
5. Получение информации восстановления для BitLocker для всех объектов msFVE-RecoveryInformation в текущем домене:
$filter = "(objectClass=msFVE- RecoveryInformation)" Get-ADObject -LDAPFilter $filter | ForEach-Object { Get-ADPathname (Get-ADPathname $_.DistinguishedName ` -Format X500Parent) -Format Leaf -ValuesOnly | Get-BitLockerRecovery }
Эта команда зависит от сценария Get-ADPathname.ps1, который можно найти по ссылке в моей статье «Обработка путей Active Directory с помощью PowerShell» (опубликована в журнале Windows IT Pro/RE № 12 за 2013 год). Она извлекает родительский путь каждого объекта msFVE-RecoveryInformation (то есть все объекты-компьютеры, которые имеют дочерние объекты msFVE-RecoveryInformation), получает конечный элемент пути каждого из них (только значения, то есть только имена компьютеров без префикса CN=) и передает имя каждого компьютера в сценарий Get-BitLockerRecovery.ps1.
Информация восстановления для BitLocker без графического интерфейса
Средство просмотра пароля восстановления BitLocker — важный инструмент, но работает он только на консоли «Пользователи и компьютеры Active Directory». Используйте сценарий BitLockerRecovery.ps1 (https://gist.github.com/morisy/5b99e763d6b72f9b3e7c1747b6d0a1ee), чтобы обойти это ограничение и получить информацию восстановления для BitLocker из командной строки PowerShell.