Updating AD User Information

I have a problem updating user information in Active Directory database ...

When I run the following code, I get this error:

The specified attribute or directory service value does not exist

The problem is that the path it uses to store the information is:

CN=AD Test,OU=Container Name,DC=us,DC=flg,DC=int


Ad Test

is the username in AD that I am trying to update.

and I believe it should be:

CN=Ad Test,OU=Container Name, OU=Server Name,DC=us,DC=flg,DC=int


I am new to Directory services, so I would really appreciate any help figuring out why I can't update ... Thanks in advance

public bool UpdateActiveDirectory(string LdapServerName, string CustId, Employee SQLresult)
        DirectoryEntry rootEntry = new DirectoryEntry("LDAP://" + LdapServerName, "usrename", "password", AuthenticationTypes.Secure);

        DirectorySearcher searcher = new DirectorySearcher(rootEntry); 
        searcher.Filter = "(sAMAccountName=" + SQLresult.LogonNT + ")";

        SearchResult result = searcher.FindOne();

        if (result != null)
            // create new object from search result    
            DirectoryEntry entryToUpdate = result.GetDirectoryEntry();

            entryToUpdate.Properties["title"].Value = SQLresult.Title;
            entryToUpdate.Properties["street"].Value = SQLresult.Address;
            entryToUpdate.Properties["1"].Value = SQLresult.City;
            entryToUpdate.Properties["st"].Value = SQLresult.State;
            entryToUpdate.Properties["postalCode"].Value = SQLresult.ZipCode;
            entryToUpdate.Properties["department"].Value = SQLresult.Department;
            entryToUpdate.Properties["mail"].Value = SQLresult.EMailID;
            entryToUpdate.Properties["manager"].Value = SQLresult.ManagerName;
            entryToUpdate.Properties["telephoneNumber"].Value = SQLresult.Phone;


            Console.WriteLine("User Updated");
            Console.WriteLine("User not found!");
    catch (Exception e)
        Console.WriteLine("Exception caught:\n\n" + e.ToString());

    return true;



source to share

1 answer

Maybe just a typo?

Third property you are trying to update:

entryToUpdate.Properties["1"].Value = SQLresult.City;


- what is one ( 1

) there? It should be small L ( l


Also: the name of the manager must be the distinguished name of the manager - total

CN=Manager,CN=Ad Test,OU=Container Name, OU=Server Name,DC=us,DC=flg,DC=int 


the thing is not just the name itself.

If that doesn't help - go back to the old school debugging method:

  • update only one property; if it fails -> that's your problem case is figuring out why it is the problem.
  • If it works: uncomment the second property and run again

-> repeat over and over until you find your culprit



All Articles