Je dois interroger AD pour déterminer si un compte d'utilisateur est désactivé.Requête SQL pour les comptes Active Directory désactivés
En utilisant une requête similaire utilisée dans les réponses here
SELECT *
FROM OPENQUERY(ADSI, 'SELECT sAMAccountName
FROM ''LDAP://DC=MyDC,DC=com,DC=uk''
WHERE objectCategory = ''Person''
AND objectClass = ''user'')
Je crois pour déterminer si un compte est désactivé, je dois utiliser le champ userAccountControl en quelque sorte. J'ai essayé plusieurs choses, mais ils ne semblent pas fonctionner:
WHERE userAccountControl & 2 <> 0
Le code ci-dessus renvoie les utilisateurs actifs. Une solution géniale. Beaucoup mieux à utiliser dans OPENQUERY en raison de la limite de 1000 lignes imposées par ADSI. – JiggsJedi
1.2.840.113556.1.4.803 est le code pour une opération BitWise ET 1.2.840.113556.1.4.804 est le code pour une opération OU BitWise Juste au cas où quelqu'un se demandait pourquoi il y avait un nombre étrange là-bas et ce Cela signifiait. Aussi, c'est la meilleure solution pour les raisons indiquées dans le commentaire précédent. – Matt
A travaillé comme un charme. Merci beaucoup! – Lumberjack