¿Cómo obtener una lista de todos los dominios?

Estoy tratando de obtener todos los dominios que están disponibles en el cuadro de diálogo Inicio de sesión de Windows (en el menú desplegable Dominio).

He intentado el siguiente código pero solo devuelve el dominio en el que he iniciado sesión. ¿Me estoy perdiendo de algo?

StringCollection domainList = new StringCollection();
try
{
    DirectoryEntry en = new DirectoryEntry();
    // Search for objectCategory type "Domain"
    DirectorySearcher srch = new DirectorySearcher(en, "objectCategory=Domain");
    SearchResultCollection coll = srch.FindAll();
    // Enumerate over each returned domain.
    foreach (SearchResult rs in coll)
    {
        ResultPropertyCollection resultPropColl = rs.Properties;
        foreach( object domainName in resultPropColl["name"])
        {
            domainList.Add(domainName.ToString());
        }
    }
}
catch (Exception ex)
{
    Trace.Write(ex.Message);
}
return domainList;

Respuestas a la pregunta(2)

Su respuesta a la pregunta