¿Cómo buscar en múltiples dominios usando System.DirectoryServices.AccountManagement?

Tengo tres o más dominios comomain.com, sub.main.com, sub2.main.com y etc

Tengo un código:

<code>using (PrincipalContext ctx = 
    new PrincipalContext(ContextType.Domain, "ADServer", 
    "dc=main,dc=com", ContextOptions.Negotiate))
{
    UserPrincipal u = new UserPrincipal(ctx);
    u.UserPrincipalName = "*" + mask + "*";

    using (PrincipalSearcher ps = new PrincipalSearcher(u))
    {
       PrincipalSearchResult<Principal> results = ps.FindAll();
       List<ADUser> lst = new List<ADUser>();

       foreach (var item in results.Cast<UserPrincipal>().Take(15))
       {
           byte[] sid = new byte[item.Sid.BinaryLength];
           item.Sid.GetBinaryForm(sid, 0);

           ADUser us = new ADUser()
           {
               Sid = sid,
               Account = item.SamAccountName,
               FullName = item.DisplayName
           };

           lst.Add(us);
       }

    }

    return lst;
}
</code>

Pero busca dentro de un solo dominio:main.com.

¿Cómo puedo buscar registros en todos los dominios a la vez?

Respuestas a la pregunta(3)

Su respuesta a la pregunta