Мы находимся в процессе удаления старых учетных записей компьютеров, находящихся в AD, для которых пароль учетной записи старше 60 дней (в настоящее время в эту корзину попадает более 15 000 учетных записей). Чтобы получить этот список, я выполнил этот простой оператор dsquery для создания списка:
dsquery computer -stalepwd 60 -limit 100000> C: \ Temp \ Servers.txt
В настоящее время у нас есть объекты групповой политики, которые требуют, чтобы компьютеры использовали BitLocker и хранили свои ключи восстановления в AD. Проблема в том, что из 15 000+ учетных записей компьютеров, срок действия которых истек, я не могу удалить те, у которых есть BitLocker в AD для архивных целей, поэтому мне нужно найти способ сократить список. Конечный результат, который я хотел бы, - это список учетных записей компьютеров, у которых истек пароль учетной записи компьютера, но нет ключа восстановления BitLocker, хранящегося в AD.
Кто-нибудь делал это раньше или знает, с чего начать, чтобы добиться чего-то подобного?
Скачайте "AdFind" с сайта Джо Ричардса по адресу http://www.joeware.net и попробуйте этот сценарий (очевидно, проверьте результаты, пока не убедитесь, что он надежно выполняет то, что вы хотите).
@echo off
for /f "usebackq delims=" %%i in (`dsquery computer -stalepwd 60 -limit 100000`) do (
call :do_find %%i
)
goto end
:do_find
rem Search for computer at specified DN without a Bitlocker recovery key.
adfind -b %1 -f "(msFVE-RecoveryPassword=*)" 2>NUL | find "0 Objects returned" >NUL 2>NUL
if errorlevel 1 goto end
rem Echo DNs of computers w/o bitlocker recovery keys
echo %1
:end
Это должно пройти через компьютеры со «устаревшими» паролями, проверяющими наличие объекта с ненулевым атрибутом «msFVE-RecoveryPassword» в DN, где был обнаружен каждый «устаревший» компьютер. Если объекты не были возвращены, значит, в каталоге нет пароля восстановления.
Джо Ричардс действительно заслуживает похвалы за свои инструменты. Они значительно облегчают жизнь, управляя AD.