我想弄清楚如何使用VB.NET设置AD的“用户无法更改密码”属性。如何设置“用户无法更改密码”AD属性
我原本希望使用这里找到的UserAccountControl标志http://support.microsoft.com/kb/305144,但我意识到你不能像设想的那样设置PASSWD_CANT_CHANGE
标志。这导致我发布Preventing an Active Directory user from changing his/her password using DirectoryServices但我无法保存工作。
这是我现在的代码。
Dim domainContext As PrincipalContext = New PrincipalContext(ContextType.Domain)
Dim user As UserPrincipal = UserPrincipal.FindByIdentity(domainContext, "user5")
user.UserCannotChangePassword = True
user.Save(domainContext)
每次我尝试做一个保存在这我得到一个InvalidOperationException。这个文件是不是太大的帮助之一:http://msdn.microsoft.com/en-us/library/bb335863.aspx
有什么奇怪,我是,如果我设置UserPrincipal对象的不同属性,如SAM帐户名,保存工作正常,但一旦我引入UserCannotChangePassword
属性,节约失败。
我已验证我用于执行此操作的用户具有适当的权限,但我不确定从此处要去哪里......任何想法?
你有没有尝试这个办法:http://msdn.microsoft.com/en-us/library/windows/desktop/aa746399%28v=vs.85%29.aspx – 2012-02-17 13:02:34
似乎不是来工作的。我希望能够使用这个新的UserPrincipal类,因为它使我所有的AD管理工作变得更加简单。我可以(理论上)在3行代码中更改属性,而不是20个。 – Boeckm 2012-02-17 13:46:00
是否存在内部异常? – 2012-02-17 19:17:29