Предположим, что Вы соединились с 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"]);
Как я могу удалить почтовое значение атрибута, начиная с установки его к пустой строке не бросит ошибку?
Оказывается, это довольно просто, хотя и не очень часто используется ...
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();
Не уверен, что вы можете удалить его, поскольку пользовательские объекты обычно следуют схеме компании, но, возможно, будет работать что-то вроде следующего:
userEntry.Properties["mail"] = null;
или, может быть:
userEntry.Invoke("Put", "mail", null);
, затем:
userEntry.CommitChanges();