Как я убираю атрибут пользовательского объекта в 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"]);

Как я могу удалить почтовое значение атрибута, начиная с установки его к пустой строке не бросит ошибку?

9
задан Vince Pike 23 August 2019 в 17:49
поделиться

2 ответа

Оказывается, это довольно просто, хотя и не очень часто используется ...

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();
19
ответ дан 4 December 2019 в 11:07
поделиться

Не уверен, что вы можете удалить его, поскольку пользовательские объекты обычно следуют схеме компании, но, возможно, будет работать что-то вроде следующего:

userEntry.Properties["mail"] = null;

или, может быть:

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

, затем:

userEntry.CommitChanges();
0
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: