Home
IPhone SMS To Gmail
Consulting
Blog
Software
Projects
Links
About
Contact
Blog
Facebook
Twitter
LinkedIn
|
<< Back To All Blogs
Updating an LDAP Property in C#
Thursday, June 11th, 2009
C# is very powerful for working with LDAP and Active Directory. You are often presented with a situation in which you want to update the property of a value from an LDAP record, and I figured I would share with doing so as there are really two cases which have to be considered: the case with a single-valued attribute, and the case with a multi-valued (array) attribute.
Without further ado, I present to you the code:
DirectoryEntry entry = new DirectoryEntry("LDAP://DC=mydomain,DC=com");
DirectorySearcher searcher = new DirectorySearcher(entry);
// This will find the directory entry by a distinguished name, although you could use any filter here
searcher.Filter = "(&(distinguishedName=" + DN + "))";
// Only find the first matching record
SearchResult result = searcher.FindOne();
if (result != null)
{
DirectoryEntry updater = new DirectoryEntry();
// Set the path to the DN found by the searcher
updater.Path = result.Path;
// Username and password with write access
updater.Username = "UsernameWithWriteAccess";
updater.Password = "PasswordForUsername";
// This will update a single-valued property
updater.Properties["myproperties"].Value = "something here";
// This will add a value to a multi-valued property
updater.Properties["multival"].Add("myvalue");
// Commit the changes
updater.CommitChanges();
}
Pretty simple, but very useful and very powerful.
LDAPin' Tom Out.
Tags
CSharp
LDAP
Related Blogs
Creating High Quality Images with C# and GDI
Querying Table Entities with Microsoft Azure (And ADO.NET Data Services Framework)
Creating a reusable web client for PUT, POST, and DELETE in C#
Bitmasking userAccountControl attribute in LDAP from C#
Comments
Lance Robinson said on Thursday, June 11th, 2009 @ 10:29 AM
So much easier with IPWorks its not even funny.
Add A Comment
Name:
URL:
Email Address: (not public, used to send notifications on further comments)
Comments:
Please enter the text from the image:

|