1

我创建了一个名为用户提取的应用程序,它与活动目录通信并提取用户信息。可以在此处找到我的应用程序的屏幕截图http://imgur.com/qZwsztg 我无法在此处加载实际图像,因为我需要 10 个声誉。

我能够成功填充组和用户组合框,我还能够使用以下代码填充我的用户列表框:

 private void fillusersforgroups()
    {

        Users.Items.Clear();
        // string groupname = group.Text();
        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

        // define a "query-by-example" principal - here, we search for any UserPrincipal 
        GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, group.Text);
        if (grp != null)
        {
            foreach (Principal p  in grp.GetMembers(true))
            {
                Users.Items.Add(p.Name + "[" + p.SamAccountName + "]");
            }
            grp.Dispose();

        }
        else
        {
            MessageBox.Show("No Users In The Above Group");
        }   

现在我想根据上面的用户组合框填充我的列表框成员,是否有一些用户可以使用,例如组的 getmemebers?我试过了:

        private void fillmembersof()
    {

        Groups.Items.Clear();
        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

        // define a "query-by-example" principal - here, we search for any UserPrincipal 
        UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, IdentityType.Name, user.Text);
        if (usr != null)
        {
            foreach (Principal p in usr.GetAuthorizationGroups())
            {
                Groups.Items.Add(p.Name);
            }
            usr.Dispose();
        }

        ctx.Dispose();

对此的任何帮助将不胜感激!!!

4

0 回答 0