C# 无法验证新创建的用户

C# 无法验证新创建的用户,c#,directoryservices,account-management,C#,Directoryservices,Account Management,我不明白为什么b总是假的。有人能帮忙吗?虽然我不知道你问题的答案,但你试过这种方法吗 using(PrincipalContext cntx = new PrincipalContext( ContextType.Domain, "blah.corp.net:389", "OU=customers,OU=web,CN=blah,CN=corp,CN=net", ContextOptions.Negotiate, "Domin\Admin", "{Pas

我不明白为什么b总是假的。有人能帮忙吗?

虽然我不知道你问题的答案,但你试过这种方法吗

  
  using(PrincipalContext cntx = new PrincipalContext(
        ContextType.Domain, "blah.corp.net:389", "OU=customers,OU=web,CN=blah,CN=corp,CN=net", 
        ContextOptions.Negotiate, "Domin\Admin", "{Password}")){
        string password = "PPaass00!!";
        UserPrincipal p = new UserPrincipal(cntx);
        p.SamAccountName = "GuestUser";
        p.PasswordNeverExpires = true;
        p.Enabled = true;
        p.SetPassword(password);
        p.Save();
        bool b = cntx.ValidateCredentials("GuestUser", password); //where b always false
    }

在它周围放一个try/catch,看看当你连接时它是否抛出异常。

10个被接受的答案中有1个。为什么?你以前的问题很糟糕,或者你没有得到满意的答案,或者你根本不知道?你所要做的就是把它标记为[c],然后你会立即得到c语法高亮显示。。。系统比你想象的要聪明。学习高级格式:-没有引发异常。经过研究,用户帐户似乎没有启用,这就是验证身份验证总是失败的原因。因此,在创建期间或之后,但在身份验证之前启用用户,可以解决您的问题吗?
PrincipalContext cntx = new PrincipalContext(ContextType.Domain, 
    "blah.corp.net:389", 
    "OU=customers,OU=web,CN=blah,CN=corp,CN=net",ContextOptions.Negotiate, 
    "Domin\GuestUser", password)