2009-07-29 102 views
6

假设你已经使用simiple语法连接到Active Directory:如何清除Active Directory中的用户对象属性?

string adPath = "LDAP://server.domain.com/CN=John,CN=Users,dc=domain,dc=com"; 
DirectoryEntry userEntry = Settings.GetADEntry(adPath); 

现在你想查看该用户的属性,比如邮件属性:

Console.WriteLine("User's mail attribute is " + userEntry.Properties["mail"]); 

现在我该怎么删除邮件属性值?

回答

13

它原来是非常简单的,尽管不是很常用的...

string adPath = "LDAP://server.domain.com/CN=John,CN=Users,dc=domain,dc=com";DirectoryEntry userEntry = Settings.GetADEntry(adPath); 
userentry.Properties["mail"].Clear(); 
userentry.CommitChanges(); 
+0

完美解决,而无需使用调用与方法名。干杯! – jamesbar2 2012-08-30 22:23:47

0

不知道,你可以删除它,因为用户对象通常遵循公司的模式,但也可能像下面的工作:

userEntry.Properties["mail"] = null; 

或可能:

userEntry.Invoke("Put", "mail", null); 

则:

userEntry.CommitChanges(); 
相关问题