我尝试使用下面的代码来设置Active Directory中的用户密码内到期Active Directory中的密码:需要重置和PrincipalContext
using (var context = new PrincipalContext(ContextType.Domain))
{
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
user.SetPassword("newpassword");
user.ExpirePasswordNow();
}
}
代码拉没有问题的用户信息,但尝试重置密码时遇到拒绝访问。然后我意识到上面的代码没有提供执行操作的安全上下文。如何把它放在? MSDN给出PrincipalContext完整构造函数:
public PrincipalContext(
ContextType contextType,
string name,
string container,
string userName,
string password
)
,我能找到所做的所有例子清楚地表明,第一个字符串是服务器的名称,用户名和密码是不够清楚,太多,但究竟是什么“容器”。 MSDN中的描述是明确的,因为泥:
“在商店的容器作为上下文的根一起使用的所有 查询此根下进行,所有的刀片进行 到这个容器。 “
我试过使用像“ABCD”这样的任意字符串,但这并不好。我尝试了许多事情,结果不好。
如何解决这个问题?