Я работаю над обновлением решения в VB.NET, которое в значительной степени основано на Active Directory. На данный момент я пытаюсь добавить ограничение ПК для нового пользователя AD при создании пользователя. По сути, мне нужно обновить атрибут Logon To, чтобы включить 1 или более ПК, как мне это сделать?
Я узнал, что меня интересует свойство IADsUser "LoginWorkstations
" (благодаря http://msdn.microsoft.com/en-us/library/Aa746340).. На данный момент у меня есть код, который может получить этот атрибут у любого пользователя AD, но я не могу его установить.
Вот код, который я должен получить для атрибута:
Dim userADObject As new DirectoryEntry(ADPath)
Dim logonToPC as String = userADObject.InvokeGet("LoginWorkstations")(0).ToString
Это приведет к получению первого компьютера с ограниченным доступом (если он есть) и сохранит его в logonToPC
и будет выглядеть примерно так: "PC10000
"
Это прекрасно работает, поэтому интуитивно я предполагаю, что что-то вроде этого будет работать:
Dim userADObject As new DirectoryEntry(ADPath)
Dim args() As Object = {"PC100001"}
userADObject.InvokeSet("LoginWorkstations", args)
Но это не работает ... Это просто довольно бесполезное исключение.
Я пытался протестировать этот подход с другим атрибутом, и он работает просто отлично. К сожалению, не так много в Google ...
Любая помощь будет принята с благодарностью.