Pesquisei no Google como listar contas bloqueadas e encontrei dois métodos até agora, os quais não funcionam ...
Consulta salva - (&(&(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))))
Lista várias contas, muitas das quais não estão bloqueadas. Se eu desbloquear um que eu saiba que está bloqueado, ele ainda será retornado pela consulta.
Comando do PowerShell - Search-ADAccount -LockedOut
Faz nada.
Então também - estou fazendo algo errado? Ou - Existe um método que realmente funciona?
Respostas:
Eu não confiaria necessariamente
Get-ADUser -LDAPFilter "(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))" -Properties LockedOut
, pois também não está retornando resultados confiáveis para mim, mas também não consigo entrar em contato diretamente com meu PDCe no momento. Para obter melhores resultados, você deseja segmentar diretamente seu emulador de PDC, pois ele sempre tem as informações mais atualizadas sobre bloqueios de contas em todo o domínio.É isso que estou apostando que você está testemunhando aqui é um atraso na replicação:
Portanto, tente
Search-ADAccount -LockedOut -Server DC-PDCE
e veja se seus resultados estão melhores.Além disso, aqui está outra coisa a considerar ao criar consultas em torno do atributo lockoutTime:
Edit: Por meio de engenharia reversa
Microsoft.ActiveDirectory.Management.dll
, posso dizer queSearch-ADAccount -LockedOut
, que me parece produzir resultados bastante confiáveis, executa o seguinte código:Parece que também
Search-ADAccount -LockedOut
está olhando o atributo AccountLockoutTime!Edite um pouco mais para obter grande justiça: Richard Mueller, Dir. Services MVP, diz o seguinte:
Eu posso verificar isso assim:
Por fim, gostaria de terminar nesta postagem do blog sobre o tópico , que explica por que a
lockoutTime>=1
abordagem está se aproximando da melhor solução, mas isso é apenas parte da história. Você precisa filtrar ainda mais a lista para incluir apenas os usuários em que o tempo de bloqueio deles é maior que $ (duração do bloqueio de domínio) minutos no passado.fonte
userAccountControl
bit deixou de ser válido. Funcionou bem no passado, se a memória servir. Isso me faz pensar se a funcionalidade foi removida em uma revisão posterior do código do AD. Hmm ...