Я запускаю запрос AD, чтобы вытащить выбранные атрибуты из профиля пользователя. Я выбираю extensionAttribute3, 4, 5, 6, 7 & 8. Хотя я могу получить результат для отображения в виде текста, я хотел бы установить выбранный volaue combobox для результатов.Настройка ComboBox Выбранное значение для запроса AD
Атрибут расширения 3, 5 & 7 = вопросы безопасности, 4, 6 & 8 являются ответами. У меня есть 3 comboboxes, каждый из которых содержит список из 15 возможных вопросов безопасности, которые пользователи могут выбрать, а затем предоставить ответы. У меня есть мой скрипт для обновления AD с ответами & ответов. Однако, когда я запускаю приложение еще раз, я хотел бы вытащить существующие вопросы из extensionAttribute 3, 5 & 7, в качестве значения по умолчанию, выбранного для comboBox foreach.
Текущий код AD Запрос:
Private Function GetUserProperties()
Dim ADName As String = GetLogonName()
Dim CurrentPIN As String = Nothing
Dim bSuccess As Boolean = False
Dim dirEntry As DirectoryEntry = GetDirectoryEntry()
Dim dirSearcher As DirectorySearcher = New DirectorySearcher(dirEntry)
Dim Q1Value As String = Nothing
dirSearcher.Filter = ("(samAccountName=" & ADName & ")")
dirSearcher.PropertiesToLoad.Add("extensionAttribute3")
dirSearcher.PropertiesToLoad.Add("extensionAttribute4")
dirSearcher.PropertiesToLoad.Add("extensionAttribute5")
dirSearcher.PropertiesToLoad.Add("extensionAttribute6")
dirSearcher.PropertiesToLoad.Add("extensionAttribute7")
dirSearcher.PropertiesToLoad.Add("extensionAttribute8")
dirSearcher.SearchScope = SearchScope.Subtree
Try
Dim dirResult As SearchResult = dirSearcher.FindOne()
bSuccess = Not (dirResult Is Nothing)
If dirResult Is Nothing OrElse dirResult.GetDirectoryEntry.Properties("extensionAttribute3").Value Is Nothing Then
Return "<not set>"
Else
Q1Value = dirResult.GetDirectoryEntry.Properties("extensionAttribute3").Value.ToString
Q1ComboBox.SelectedIndex = Q1Value
End If
Catch ex As Exception
bSuccess = False
MsgBox("No Connection to the domain." & Environment.NewLine & "Please connect to corporate network & try again.", MsgBoxStyle.Critical, "Network Error")
Application.Exit()
End Try
Return False
End Function
Что вы хотите сказать? – baldpate
Извините, не прояснилось. У меня возникают проблемы с перенастройкой значений extensionAttribute от 3 до 8, а также в поле со списком или текстовое поле. Я получаю только первый результат. Кажется, что Ic не возвращает несколько значений, возвращаемых функцией. –
В настоящее время возвращается runAttribute3. Но я не могу получить extensionAttribute4-8 для отображения. я называю fucntion, как показано ниже: 'Private Sub Form1_Load (отправителем как объект, е As EventArgs) Ручки MyBase.Load Попробуйте Dim ADUser Как System.DirectoryServices.AccountManagement.UserPrincipal ADUser = System.DirectoryServices.AccountManagement.UserPrincipal .Current дим отображаемое_имя As String = ADUser.GivenName & "" & ADUser.Surname Username.Text = отображаемое_имя extension3.Text = GetUserProperties() ComboBox1.SelectedText = GetUserProperties() Выгода ех как исключение MsgBox ("Ошибка ") End Try End Sub' –