Обновление домена имени пользователя Active Directory

69
3

В настоящее время работает над автоматизацией создания пользователей Active Directory, но я не могу понять, как обновить поле, указанное в связанном изображении. (Я не могу прикреплять изображения, потому что у меня меньше 10 сообщений) image

Я могу обновить имя входа пользователя пользователем (userprincipal - экземпляр объекта userprincipal, установленного для соответствующего пользователя):

userPrincipal.UserPrincipalName = logonName

и я могу обновить другие аналогичные пользовательские свойства, такие как название задания, посредством (местоположение пользователя является экземпляром directoryentry, указывающим на расположение каталога пользователя):

(userLocation.Properties["title"]).Value = title;

Но независимо от того, что я пытаюсь настроить, я не смог выяснить, как обновить эту конкретную область. Любая помощь очень ценится!

спросил(а) 2014-11-05T21:42:00+03:00 5 лет, 10 месяцев назад
1
Решение
80

Вы должны знать имя свойства, прежде чем сможете его установить. в активном каталоге могут быть 100 и 100 свойств, некоторые из которых устанавливаются из пользовательского интерфейса, а некоторые из них установлены из другого места, независимо от того, что вы можете проверить для имени свойства, выполнив следующее

DirectoryEntry directoryEntry = new DirectoryEntry(ConnectionString, ProviderUserName, ProviderPassword, AuthenticationTypes.Secure);
/******************************/

DirectorySearcher search = new DirectorySearcher(directoryEntry);
search.Filter = "(&(objectClass=user)(sAMAccountName=" + username + "))";
search.CacheResults = false;

SearchResultCollection allResults = search.FindAll();
StringBuilder sb = new StringBuilder();

foreach (SearchResult searchResult in allResults)
{
foreach (string propName in searchResult.Properties.PropertyNames)
{
ResultPropertyValueCollection valueCollection = searchResult.Properties[propName];
foreach (Object propertyValue in valueCollection)
{
sb.AppendLine(string.Format("property:{0}, value{1}<br />", propName, propertyValue));
}
}
}

return sb.ToString();

это приведет ко всему активному каталогу для некоторого пользователя, которого вы предоставляете

после этого вы сможете установить все свойства, которые вы хотите, потому что у вас есть имя свойства, которое доступно для пользователя

ответил(а) 2014-11-05T22:03:00+03:00 5 лет, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема