グループのネストしているすべてのメンバーを表示する画面の Windows アプリの C# のコードです。
 //パブリックコンストラクター
 public AllMemberList(DomainGroup group)
 {
   InitializeComponent();
   this.AddChildNode(group);  //子ノードを追加
   this.MemberTreeView.ExpandAll();
 }
  
 //プライベートメソッド
 //子ノードを追加
 private void AddChildNode(DomainGroup group)
 {
   var imageIndex = (int)group.Category;
   var node = new TreeNode(group.Name, imageIndex, imageIndex);
   this.MemberTreeView.Nodes.Add(node);
   var members = DirectoryAccess.GetMembers(group);   //グループのメンバーを取得
   foreach (var member in members)
   {
     this.AddChildNode(node, member);   //子ノードを追加
     member.Dispose();
   }
 }
  
 //子ノードを追加
 private void AddChildNode(TreeNode node, DomainObject member)
 {
   var childNode = CreateNode(member);  //ノードを作成
   node.Nodes.Add(childNode);
   if (member.Category == CategoryType.Group)
   {
     var subMembers = DirectoryAccess.GetMembers((DomainGroup)member);   //グループのメンバーを取得
     foreach (var subMember in subMembers)
     {
       this.AddChildNode(childNode, subMember);   //子ノードを追加
       subMember.Dispose();
     }
   }
 }
  
 //指定したメンバーのノードを作成
 private TreeNode CreateNode(DomainObject member)
 {
   string displayName;    //表示するテキスト
   var fontColor = Color.Black;
   switch (member.Category)
   {
     case CategoryType.User:
       var user = (DomainUser)member;
       displayName = String.Format("{0}({1}{2}:{3}/{4})",
         user, user.LastName, user.FirstName, user.DisplayPath, user.Name);
       fontColor = Color.Brown;
       break;
     case CategoryType.Group:
       var group = (DomainGroup)member;
       displayName = String.Format("{0}({1}:{2})", group, group.Scope, group.DisplayPath);
       fontColor = Color.Blue;
       break;
     case CategoryType.Computer:
       var pc = (Computer)member;
       string sp = null;
       if (pc.OperatingSystemServicePack != null)
       {
         sp = pc.OperatingSystemServicePack.Replace("Service Pack ", " SP");
       }
       displayName = String.Format("{0}({1}{2}:{3})", pc, pc.OperatingSystem, sp, pc.Role);
       fontColor = Color.Green;
       break;
     default:   //CategoryType.ForeignSecurityPrincipal
       displayName = String.Format("{0}({1})", member, member.Name);
       break;
   }
   var imageIndex = (int)group.Category;
   return new TreeNode(displayName, imageIndex, imageIndex) { Name = member.Name, ForeColor = fontColor };
 }
  
 説明は VB の方に書いてますのでそちらをご覧ください。
  
  
 Active Directory 関連 Blog  
http://www.pbyk.com/blog/bloglist.html