AD编程tips
这几天在为帐号管理自动化做一些开发。谈到 帐号管理自然离不开AD。AD是帐号管理很常用的基础服务。但不管是用AccountManagment, 还是DirectoryEntry, 有发现一些疑惑。有的有解开,有的还是迷雾中。
1. 当重置密码时,自然会想到安全性。不能让有坏心眼儿的人把管理员级或其它本不应该被重置的给重置了。这可以在AD管理中对连接AD服务的帐号授于有限权限,即,这个连接帐号只可以对帐号进行管理,不可以对AD中的其它对象管理。这是可以做到的。如果一个帐号原来是在domain admins群组中,后被从组中移到普通组中,这个时候,对它重置很可能出现access denied. 办法是要对这个帐号右健,弹出窗口中对Security中加入连接帐号,并授于适当权限即可
2. 在用AccountManagment编程枚举不管是userPrincipal.GetGroups()还是groupPrincipal.getMembers(),都可能出现1335的错误。这种情况应该是运行程序的机器没有 加入指定域,也就是跨域枚举可能出现这种错误。为什么说可能呢,因为在实践中,有些组是可以被枚举的,比如:domain admins就可以,但domain users就不可以枚举members.不知道为什么