В c # я пытаюсь установить поле офиса
Когда я делаю это:
ADEntry.Properties ["офис"]. Добавить ("Аляска");
Там написано, что офис не существует.
Может кто-нибудь сказать мне, где взять это свойство?
Спасибо
кальцит
После долгих исследований я понял ..
string Username = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Substring(System.Security.Principal.WindowsIdentity.GetCurrent().Name.IndexOf("\\") + 1); string office = string.Empty; using (var context = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["DOMAIN"].ToString())) { using (var userPrincipal = new UserPrincipal(context)) { userPrincipal.SamAccountName = Username; using (PrincipalSearcher search = new PrincipalSearcher(userPrincipal)) { UserPrincipal result = (UserPrincipal)search.FindOne(); DirectoryEntry directoryEntry = result.GetUnderlyingObject() as DirectoryEntry; if (directoryEntry.Properties["physicalDeliveryOfficeName"].Count > 0 && directoryEntry.Properties["physicalDeliveryOfficeName"][0] != null && !string.IsNullOrWhiteSpace(directoryEntry.Properties["physicalDeliveryOfficeName"][0].ToString())) { office = directoryEntry.Properties["physicalDeliveryOfficeName"][0].ToString(); } } } }
Посетите веб-сайт Ричарда Мюллера - у него есть тонны справочных листов Excel о том, какое свойство в пользовательском интерфейсе AD сопоставлено с каким базовым свойством AD в DirectoryEntry.
DirectoryEntry
Ваш бетон "пример office »сопоставляется со свойством physicalDeliveryOfficeName в коллекции DirectoryEntry s .Properties ....
physicalDeliveryOfficeName
.Properties