簡體   English   中英

ActiveDirectory C# - 獲取組中的所有成員

[英]ActiveDirectory C# - get all Members in Group

我正在嘗試構建一種方法來從我的 Active Directory 中獲取給定組中的所有成員。

如果我運行以下似乎沒問題的代碼(我認為),我只會得到一個用戶,但不是全部。

這是我的方法:

static void Main(string[] args)
        {
            GetNestedGroupName("Groupname");
        }

       public static void GetNestedGroupName(string groupName)
        {
            using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "ad.domain.com"))
            {
             using (GroupPrincipal group = GroupPrincipal.FindByIdentity(context, groupName))
            {
                if (group != null)
                {
                    foreach (Principal p in group.GetMembers())
                    {
                        Console.WriteLine("name: " + p.SamAccountName);
                        Console.ReadLine();
                    }
                }
                else {
                    Console.WriteLine("nothing");
                    Console.ReadLine();
                }
            }

這將使您獲得組中的所有成員。 我已經寫了另一個塊來幫助我找到組名,但是我沒有看到使用您在GroupPrincipal上的那一秒有任何GroupPrincipal - 我通常將其輸出到文本文件中。

      using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
            {
                Console.WriteLine("Getting Members");
                GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "<GROUP NAME>");
                foreach (Principal p in group.Members)
                {
                   Console.WriteLine(p.Name);
                   Console.WriteLine(p.SamAccountName);
                }
                Console.ReadLine();
             }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM