Я гуглил, как составить список заблокированных аккаунтов, и нашел два метода, оба из которых не работают ...
Сохраненный запрос - (&(&(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))))
Перечисляет ряд учетных записей, многие из которых не заблокированы. Если я разблокирую тот, который, как я знаю, заблокирован, он все равно будет возвращен запросом.
Команда Powershell - Search-ADAccount -LockedOut
Ничего не делает.
Так что либо - я что-то не так делаю? Или - Есть ли метод, который действительно работает?
Ответы:
Я не обязательно буду доверять
Get-ADUser -LDAPFilter "(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))" -Properties LockedOut
, так как это также не даст мне надежных результатов, но в то же время я также не могу напрямую связаться с моим PDCe. Для достижения наилучших результатов вы бы хотели напрямую ориентироваться на ваш эмулятор PDC, поскольку он всегда содержит самую свежую информацию о блокировках учетных записей по всему домену.Я держу пари, что вы стали свидетелями отсрочки репликации:
Так что попробуйте
Search-ADAccount -LockedOut -Server DC-PDCE
и посмотрите, если ваши результаты лучше.Кроме того, вот что еще нужно учитывать при построении запросов вокруг атрибута lockoutTime:
Изменить: с помощью обратного инжиниринга
Microsoft.ActiveDirectory.Management.dll
, я могу сказать вам, чтоSearch-ADAccount -LockedOut
, который, как мне кажется, дает довольно надежные результаты, выполняет следующий код:Похоже, что
Search-ADAccount -LockedOut
он тоже смотрит на атрибут AccountLockoutTime!Отредактируйте еще немного для большей справедливости: Ричард Мюллер, режиссёр. Служба MVP, говорит это:
Я могу проверить это таким образом:
Наконец, я хотел бы закончить на этом посте в блоге на эту тему , которая объясняет, почему
lockoutTime>=1
приближается лучшее решение, но это только часть истории. Вам необходимо дополнительно отфильтровать список, чтобы включить только тех пользователей, у которых их время блокировки больше $ (длительности блокировки вашего домена) в прошлом.источник
userAccountControl
бит перестал быть действительным. В прошлом все работало нормально, если память не изменяет. Это заставляет меня задуматься, была ли удалена эта функциональность в более поздней версии кода AD. Хм ...