我有一个系统可以实时创建 AD 中的用户并打印凭据标签。该用户被一个人用来在互联网中导航。
直到现在一切都很好。该用户无法登录公司的计算机,只能登录代理服务器。
在 UserPrincipal 类中,我们有“PermittedWorkstations”属性,但它是只读的。
有没有办法设置 PermittedWorkstations(或设置用户的计算机限制,添加他能够登录的计算机 - 像这张图片http://i.stack.imgur.com/tu2Kp.png)?
我有一个系统可以实时创建 AD 中的用户并打印凭据标签。该用户被一个人用来在互联网中导航。
直到现在一切都很好。该用户无法登录公司的计算机,只能登录代理服务器。
在 UserPrincipal 类中,我们有“PermittedWorkstations”属性,但它是只读的。
有没有办法设置 PermittedWorkstations(或设置用户的计算机限制,添加他能够登录的计算机 - 像这张图片http://i.stack.imgur.com/tu2Kp.png)?
正如 DeFirmo 已经提到的:通过设置“允许的工作站”来解决问题不太可能,但是:
使用直接 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();
}
您必须使用 User.Principal 的 PermittedWorkstations 的 Add 方法
User.PermittedWorkstations.Add("SampleWorkstation"));