将用户添加到Active Directory中的组(在Linux上使用.Net Core)

3lxsmp7m  于 2023-05-22  发布在  Linux
关注(0)|答案(1)|浏览(208)

我试图添加一个用户到一个组使用nuget包Novell.Directory.Ldap. NET标准,我按照这个链接-https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard/blob/master/original_samples/Samples/AddUserToGroup.cs
但是,我看到错误-“属性转换操作错误,数据0,v3839”
使用此nuget包创建用户可以正常工作,但添加到组失败。是否有其他方法将用户添加到组中,例如。按名称查找组并添加用户。上面的示例包含多个步骤-将组的DN添加到用户的属性 groupMemberShipsecurityEquals,然后将用户的DN添加到组的属性 uniqueMemberequivalentToMe

8ulbf1ek

8ulbf1ek1#

今天遇到了同样的问题,但与DirectoryServices没有太大的不同。下面是与Active Directory一起使用的修改函数

public bool AddUserToGroup(LdapConnection conn, System.String userdn, System.String groupdn)
        {

            // modifications for group
            LdapModification[] modGroup = new LdapModification[1];

            // Add modifications to modGroup
            LdapAttribute member = new LdapAttribute("member", userdn);
            modGroup[0] = new LdapModification(LdapModification.Add, member);
            try
            {
                // Modify the group's attributes
                conn.Modify(groupdn, modGroup);
                System.Console.Out.WriteLine("Modified the group's attribute.");
            }
            catch (LdapException e)
            {
                System.Console.Out.WriteLine("Failed to modify group's attributes: " + e.LdapErrorMessage);
                doCleanup(conn, userdn, groupdn);
                return false;
            }
            catch (Exception e)
            {
                Console.WriteLine("Error:" + e.Message);
                return false;
            }
            return true;
        }

相关问题