2016-05-10 16 views
0

Ich habe eine ausführbare Datei geerbt, die Benutzer in einer Datenbanktabelle und in Active Directory aktualisiert.Active Directory-Filter, um inaktive Benutzer zurückzugeben

Der Filter ist eingestellt auf:

Dim strFilter As String = "(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=" & ADS_UF_ACCOUNTDISABLE & ")(whenChanged>=" & Format(dteADLastSyncTime, "yyyyMMddHHmmss") & ".OZ))" 

die zu beschliesst:

(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2)(whenChanged>=20091206100029.OZ)) 

dteADLastSyncTime speichert die Zeit, wo dieser Prozess zuletzt ausgeführt wurde und wird am Ende des Programmablaufs aktualisiert.

Jetzt wurde ein Fehler gefunden, bei dem einige inaktive Benutzer (inaktiv in dem Sinne, dass ihre whenChanged-Eigenschaft> = die letzte Synchronisierungszeit ist) nicht als inaktiver Benutzer aktualisiert werden. Für gefundene inaktive Benutzer soll ein Flag in der Datenbank und in AD gesetzt werden.

Meine Frage ist der strFilter sieht für mich aus, für eine scheint es, als ob die Bedingung, wenn> => Datum> ist falsch herum, aber ich weiß nicht genug über AD um sicher zu sein. Wird beim Benutzer wie ein letztes modifiziertes Flag geändert? Wenn ja, sollte die Bedingung nicht sein, wennChanged < = 'Datum'?

Zweitens das userAccountControl: 1.2.840.113556.1.4.803: = 2 - fragt das Active Directory nicht nach bereits deaktivierten Konten?

Antwort

0

Die Abfrage scheint nach Konten zu suchen, die seit der letzten Ausführung des Jobs deaktiviert wurden. Ich gehe davon aus, dass alte behinderte Konten nicht immer wieder verarbeitet werden.

Zum Beispiel, wenn der Job am 10. Mai lief, dann wenn es wieder am 11. Mai läuft, würde es nur nach Konten suchen, die deaktiviert sind und nach Mai 10 geändert wurden, da Sie den Job am Mai annehmen können 10 kümmerte sich bereits um Konten, die vor dem 10. Mai geändert wurden.

Jetzt die Konten, die es nicht abholen, sind sie tatsächlich deaktiviert?

Es gibt viele Möglichkeiten, inaktive Konten zu identifizieren. Sie können deaktiviert werden (was bedeutet, dass jemand oder ein Job das Konto absichtlich deaktiviert hat), sie könnten abgelaufen sein (was die Anmeldung verhindert, aber das Konto nicht als deaktiviert setzt), oder sie könnten einfach aufgegeben werden.

Verlassene Konten können anhand der letzten Anmeldedaten oder nach Konten gesucht werden, bei denen das Kennwort für einige Zeit abgelaufen ist.

Verwandte Themen