我正在尝试使用我根据发现的一些示例代码改编的功能在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
),但是我只需要一个布尔值即可。
我的问题是,为什么他们使用该字符串?我只需要true
或false
值,所以我不知道是否需要返回字符串而不是布尔值。
答案 0 :(得分:0)
对于我来说,字符串似乎也是个奇怪的选择:我会返回原始的Guid
类型。但是返回字符串,guid或其他键的原因是,您希望在创建该用户帐户后对该帐户进行某些操作。作为原始创建功能的一部分返回新密钥很可能为您节省一些工作。
如果您知道自己不会遇到这种情况,那么只需返回true
/ false
就可以了...记住关于让异常冒泡的问题的评论有优点。