Active DirectoryおよびNovell e-Directoryツリー内のアカウントを削除する必要があるレポートを生成するコンソールアプリケーションを作成しました。このプログラムは、私の会社の要件に関係する非常に有益なリストを生成するのに最適です。ディレクトリサービスを使用してユーザーをプログラムで削除する
私はこのプログラムを強化して、特定のアカウントを追加削除できるかどうかを確認するように求められました。
私は、異なるツリーへの接続にDirectory.Servicesを使用しています。この接続タイプを変更したくないです。これで、検索のルートにあるオブジェクトを正常に削除できます。私の問題は、サブユニットで見つかったuserobjectsを削除できないようです。ここで
は、ユーザーオブジェクトを削除し、私の機能のために私が持っているコードは、私はエラーチェックを削除しましたし、内部情報を与えないように、領域の一部と改名...
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();
}
}
}
です。しかし、とにかく。私の問題はおそらくこのコードの第10行にあると確信しています。この行を変更するか、この関数を変更して、最初のDirectoryEntryが "LDAP://server1.contoso.com/OU=users,DC=contoso,DC=com"になっている場合はどうすればよいですか。ユーザーオブジェクトが "OU = Team1、OU = users、DC = contoso、DC = com"にある場合も削除されますか?
現在のところ、このコードでは、元のエントリのすべてのユーザーは、ADまたは電子ディレクトリのいずれかで削除されます。
事前にすべてのヘルプに感謝します!