Hallo!
Ich habe folgendes Problem. Mein Programm soll alle Mitglieder einer bestimmten AD-Gruppe überprüfen ob sie gesperrt sind, und gegebenenfalls wieder entsperren.
Soweit hab ich mir den Code ja schon zusammengegoogeld
und die Accounts werden auch schon wieder entsperrt.
Nun wollte ich auch noch in einem Log-File mitprotokollieren welche Accont's wieder entsperrt worden sind. Dazu muß ich aber vorher abfragen ob das Account gestperrt ist, und dabei hab ich so meine Probleme.
Mit der Zeile 8 unten im Source komme ich nicht ganz klar. Sie sollte eigentlich true zurückliefern wenn das Account gesperrt ist. Bei mir dürfte es aber immer true sein, da immer alle Accounts entsperrt werden.
Kann mir dabei jemand helfen?
Danke im Voraus, monsi1
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| for (int i = 0; i < propertyCount; i++) { dn = (String)result.Properties["member"][i]; DirectoryEntry user = new DirectoryEntry("LDAP://" + dn, null, null, AuthenticationTypes.Secure); userName = (string)user.Properties["Name"].Value; if ((int)user.Properties["userAccountControl"].Value != 0) { if (((int)user.Properties["userAccountControl"].Value & (int)ADAccountOptions.UF_ACCOUNT_LOCKOUT) == 0 { user.Properties["LockOutTime"].Value = 0; user.CommitChanges(); user.Close();
string myPath = System.Reflection.Assembly.GetExecutingAssembly().Location; myPath = System.IO.Path.GetDirectoryName(myPath);
StreamWriter w = File.AppendText(myPath + @"\\UnlockUsers.log"); w.WriteLine(DateTime.Now.ToLongTimeString() + " " + DateTime.Now.ToLongDateString() + ", Benutzer '" + userName + "' wurde entsperrt"); w.Close(); } } } |