我有一个客户正在使用 liveID 帐户来管理 20 多个不同的 Azure AD 目录。
如何获取与此帐户关联的所有 Azure AD 实例的列表?
我尝试使用此图形浏览器来确定哪个查询是正确的,但是每次我尝试同意目录读取同意时,该工具都不接受它。(它会运行,但检查时复选框会被清除)
我的目标是在运行时确定哪些实例已获得“管理许可”来访问存储在我的租户中的应用程序。然后我会提示管理员同意这些应用程序。
我标记为 MSAL 和 ADAL,我无法使用作为 Azure AD 管理员的 MSFT 帐户
测试
我正在使用这个MSFT 示例,并将这个调试代码发布到当前正在使用的任何控制器上ActiveDirectoryClient
。此代码适用于任何 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);
MSFT 帐户的结果如下: