¿Cómo puedo usar MS Graph para enumerar instancias de Azure AD para una cuenta de LiveID dada?

Tengo un cliente que usa una cuenta liveID para administrar más de 20 directorios diferentes de Azure AD.

¿Cómo puedo obtener una lista de todas las instancias de Azure AD asociadas con esta cuenta?

Traté de usareste explorador de grafos para averiguar qué consulta era correcta, sin embargo, cada vez que intentaba dar mi consentimiento para obtener el consentimiento de Lectura de directorio, la herramienta no lo aceptaba. (se ejecutaría, pero la casilla de verificación se borraría tras la inspección)

Mi objetivo es determinar en tiempo de ejecución, qué instancias han tenido "consentimiento administrativo" para acceder a las aplicaciones almacenadas en mi inquilino. Luego le pediré al administrador que dé su consentimiento para esas aplicaciones.

Estoy etiquetando como MSAL y ADAL, tampoco puedo trabajar con una cuenta de MSFT que sea administrador de Azure AD

Pruebas

Estoy usando estoMuestra de MSFT y publicó este código de depuración en cualquier controlador que esté usando actualmenteActiveDirectoryClient. Este código funciona para cualquier cuenta de AzureAD.

            var pagedCollectionTenants = await client.TenantDetails.ExecuteAsync();
            do
            {
                var tenants = pagedCollectionTenants.CurrentPage.ToList();
                foreach (var tenant in tenants)
                {
                    System.Diagnostics.Debug.WriteLine(tenant.DisplayName + " id " + tenant.ObjectId + " " +
                        tenant.Street + " " +
                        tenant.City + " " +
                        tenant.State + " " +
                        tenant.PostalCode + " " + tenant.PreferredLanguage + " " + tenant.TelephoneNumber);

                    System.Diagnostics.Debug.WriteLine("   ** Assigned Plans **");
                    foreach (var plan in tenant.AssignedPlans)
                    {
                        System.Diagnostics.Debug.WriteLine( "   "  + plan.AssignedTimestamp + " " + plan.ServicePlanId + " " + plan.Service + " " + plan.CapabilityStatus);
                    }

                    System.Diagnostics.Debug.WriteLine("   ** Provisioned Plans **");
                    foreach (var provisionedPlans in tenant.ProvisionedPlans)
                    {
                        System.Diagnostics.Debug.WriteLine("   " + provisionedPlans.CapabilityStatus + " " + provisionedPlans.ProvisioningStatus + " " + provisionedPlans.Service);
                    }

                    System.Diagnostics.Debug.WriteLine("   ** Verified Domains **");
                    foreach (var domain in tenant.VerifiedDomains)
                    {
                        System.Diagnostics.Debug.WriteLine("   " + domain.Type + " " + domain.Name + " " + domain.Initial + " " + domain.Id + " " + domain.Capabilities + " " + domain.@default);
                    }
                }
                pagedCollectionTenants = pagedCollectionTenants.GetNextPageAsync().Result;
            } while (pagedCollectionTenants != null);

Los resultados para una cuenta de MSFT son los siguientes:

Respuestas a la pregunta(1)

Su respuesta a la pregunta