Ich habe eine Konsolenanwendung geschrieben, die Berichte zu Accounts in Active Directory- und Novell e-Directory-Bäumen generiert, die gelöscht werden sollten. Dieses Programm eignet sich hervorragend, um eine sehr informative Liste zu erstellen, die sich auf die Anforderungen meines Unternehmens bezieht.Benutzer mit Verzeichnisdiensten programmatisch löschen
Ich wurde nun gefragt, ob ich dieses Programm erweitern kann, um bestimmte Konten zusätzlich zu löschen.
Ich verwende Directory.Services nur für die Verbindungen zu den verschiedenen Bäumen und möchte diesen Verbindungstyp nicht ändern. Jetzt kann und muss ich erfolgreich Objekte löschen, die sich im Stamm meiner Suche befinden. Mein Problem ist jetzt, dass ich anscheinend keine userobjects löschen kann, die in einem subOU gefunden werden.
Hier ist der Code, den ich für meine Funktion haben, die Benutzerobjekte löscht ...
static void Perform_Deletions(List<UserAccountObject> User_List, DirectoryEntry myLdapConnection)
{
DirectoryEntry userToDelete;
myLdapConnection.RefreshCache();
string cnRegex = @"^([^,]+)";
Regex myCNRegex = new Regex(cnRegex, RegexOptions.IgnoreCase);
foreach(UserAccountObject user in User_List)
{
foreach(Match myMatch in myCNRegex.Matches(user.Distinguished_Name))
{
string cn = myMatch.ToString();
userToDelete = myLdapConnection.Children.Find(cn);
myLdapConnection.Children.Remove(userToDelete);
myLdapConnection.CommitChanges();
}
}
}
ich die Fehlerprüfung entfernen hat und einige der Bereiche umbenannt, um keine internen Informationen zu geben. Aber trotzdem. Ich bin mir sicher, dass mein Problem wahrscheinlich bei der 10. Zeile dieses Codes liegt. Wie ändere ich diese Zeile oder ändere diese Funktion, damit der initiale DirectoryEntry auf "LDAP: //server1.contoso.com/OU=users,DC=contoso,DC=com" zeigt; und das Benutzerobjekt ist in "OU = Team1, OU = Benutzer, DC = Contoso, DC = com" wird es auch gelöscht werden?
Derzeit werden mit diesem Code alle Benutzer im ursprünglichen Eintrag entweder in AD oder e-Directory gelöscht.
Vielen Dank im Voraus für alle Hilfe!