使用Active Directory创建用户

时间:2019-06-04 17:00:17

标签: c# active-directory

我正在尝试使用我根据发现的一些示例代码改编的功能在Active Directory中创建用户。

public bool crearUsuario(string usu, string pass, string path)
{
    string path = @"LDAP://" + path;

    //string oGUID = string.Empty;
    try { 

        DirectoryEntry entrada  = new DirectoryEntry(path);

        DirectoryEntry nuevoUsuario = entrada.Children.Add("CN=" + usu, "users");
        nuevoUsuario.Properties["samAccountName"].Value = usu;
        nuevoUsuario.CommitChanges();
        //oGUID = nuevoUsuario.Guid.ToString();

        nuevoUsuario.Invoke("SetPassword", new object[] { pass });
        nuevoUsuario.CommitChanges();
        entrada.Close();
        nuevoUsuario.Close();

        return true;
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //E.Message.ToString();
        return false;
    }
    //return oGUID;
}                 

原始代码返回了一个字符串(oGUID),但是我只需要一个布尔值即可。

我的问题是,为什么他们使用该字符串?我只需要truefalse值,所以我不知道是否需要返回字符串而不是布尔值。

1 个答案:

答案 0 :(得分:0)

对于我来说,字符串似乎也是个奇怪的选择:我会返回原始的Guid类型。但是返回字符串,guid或其他键的原因是,您希望在创建该用户帐户后对该帐户进行某些操作。作为原始创建功能的一部分返回新密钥很可能为您节省一些工作。

如果您知道自己不会遇到这种情况,那么只需返回true / false就可以了...记住关于让异常冒泡的问题的评论有优点。