Como posso usar o MS Graph para listar instâncias do Azure AD para uma determinada conta do LiveID?

Eu tenho um cliente que está usando uma conta liveID para gerenciar mais de 20 diretórios diferentes do Azure AD.

Como posso obter uma lista de todas as instâncias do Azure AD associadas a esta conta?

Eu tentei usareste explorador de gráficos para descobrir qual consulta estava correta, no entanto, toda vez que eu tentava consentir em um consentimento de Leitura de Diretório, a ferramenta não o aceitava. (seria executado, mas a caixa de seleção seria desmarcada após a inspeção)

Meu objetivo é determinar em tempo de execução, quais instâncias tiveram "consentimento administrativo" para acessar aplicativos armazenados no meu inquilino. Em seguida, solicitarei que o administrador consente com esses aplicativos.

Estou marcando como MSAL e ADAL, não consigo trabalhar com uma conta MSFT que é administradora do Azure AD

Testando

Eu estou usando issoAmostra MSFT e postou esse código de depuração em qualquer controlador que esteja usando atualmenteActiveDirectoryClient. Este código funciona para qualquer conta do 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);

Os resultados para uma conta MSFT são os seguintes: