2015-02-12 1 views
0

У меня есть система, которая создает в реальном времени пользователя в AD и печатает тег для учетных данных. Этот пользователь используется человеком для навигации в Интернете.Как установить PermittedWorkstations для пользователя с помощью UserPrincipal в C#

Все было в порядке до сих пор. Этот пользователь не может войти на компьютер компании, только на прокси-серверы.

В классе UserPrincipal у нас есть свойство PermittedWorkstations, но оно только для чтения.

Есть ли способ установить PermittedWorkstations (или установить ограничения компьютеров для пользователей, добавив компьютеры, на которые он может войти - например, это изображение http://i.stack.imgur.com/tu2Kp.png)?

+0

Сначала вы должны спросить себя: почему мне это нужно? Это решит мою проблему? –

+0

Привет, DeFirmo. У нас есть только один домен AD в нашей компании. В этом случае, когда я создаю пользователя, он становится частью группы «пользователи домена», которая позволяет пользователю входить в систему на любом компьютере компании. Поэтому мне это нужно. С решением, предложенным Райнером Шааком, он решил мою проблему. Спасибо. – Marco

ответ

0

Как DeFirmo уже упоминалось: это маловероятно, что эта проблема будет решена путем установки «Разрешенные Workstation», но тем не менее:

Использование прямой ADSI команды, следующие работы для меня:

using System.DirectoryServices; 

.... 

using (DirectoryEntry de = new DirectoryEntry("LDAP://CN=NewlyCreatedUser,CN=Users,DC=ad,DC=local")) 
{ 
    de.Properties["userWorkstations"].Add("WS1,WS2"); 
    de.CommitChanges(); 
} 
+0

О, спасибо @RainerSchaack, это сработало и для меня. Это то, что я искал. Свойство «PermittedWorkstations» класса «UserPrincipal» показывает мне компьютеры, которые я добавил из предлагаемого вами решения. Теперь пользователи могут регистрироваться только на прокси-серверах. Еще раз спасибо. – Marco

0

вы должны использовать метод Add из PermittedWorkstations Of User.Principal

User.PermittedWorkstations.Add("SampleWorkstation")); 
Смежные вопросы