gpt4 book ai didi

vb.net - 使用 LDAP 将用户添加到 AD

转载 作者:行者123 更新时间:2023-12-04 05:53:21 28 4
gpt4 key购买 nike

我正在编写一个将用户添加到 Active Directory 的应用程序。我正在尝试使用此代码连接到 AD 中的“用户”共享文件夹

LDAP://celtestdomdc1.celtestdom.local/CN=Users,DC=celtestdom,DC=local

但是,它将用户添加到共享文件夹中,而不是“用户”共享文件夹中。 CN=Users 不应该意味着它将它添加到“用户”文件夹吗?

谢谢

最佳答案

如果要创建用户,则需要

  • 绑定(bind)到你想在
  • 中创建用户的容器
  • 创建新用户帐户作为该容器的子帐户

  • 只需设置 LDAP 路径,您就是 不是 定义用户将去哪里!

    尝试这样的事情(C# 示例 - 转换为 VB.NET 应该很简单):
    DirectoryEntry cnUsers = new DirectoryEntry("LDAP://CN=Users,DC=celtestdom,DC=local");

    // create a user directory entry in the container
    DirectoryEntry newUser = container.Children.Add("cn=NewUserAccount", "user");

    // add the samAccountName mandatory attribute
    newUser.Properties["sAMAccountName"].Value = "NewUser";

    // add any optional attributes
    newUser.Properties["givenName"].Value = "User";
    newUser.Properties["sn"].Value = "One";

    // save to the directory
    newUser.CommitChanges();

    // set a password for the user account
    // using Invoke method and IadsUser.SetPassword
    newUser.Invoke("SetPassword", new object[] { "pAssw0rdO1" });

    // require that the password must be changed on next logon
    newUser.Properties["pwdLastSet"].Value = 0;

    // save to the directory
    newUser.CommitChanges();

    或者,如果您使用的是 .NET 3.5 或更新版本,您也可以使用新的 System.DirectoryServices.AccountManagement命名空间,使很多事情变得更容易。

    那么代码看起来就简单了一点:
    // create a context for a domain and define "base" container to use
    PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
    "celtestdom", "CN=Users,DC=celtestdom,DC=local");

    // create a user principal object
    UserPrincipal user = new UserPrincipal(ctx, "NewUser", "pass@1w0rd01", true);

    // assign some properties to the user principal
    user.GivenName = "User";
    user.Surname = "One";

    // force the user to change password at next logon
    user.ExpirePasswordNow();

    // save the user to the directory
    user.Save();

    查看更多关于 System.DirectoryServices.AccountManagement (S.DS.AM) 命名空间在这里:
  • Managing Directory Security Principals in the .NET Framework 3.5
  • MSDN docs on System.DirectoryServices.AccountManagement
  • 关于vb.net - 使用 LDAP 将用户添加到 AD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9812199/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com