1

我需要确定正在使用的 AzureAD 版本是否为高级版。

如何在 C# 中确定它?

4

1 回答 1

1

您可以通过Microsoft Graph .NET 客户端库或通过直接 HTTP 调用来使用 Microsoft Graph API。相关的API是:

此外,请注意,有关 Azure AD 版本的信息,您可以在同一 Azure AD 中启用多种服务,并按用户购买/分配许可证。

上面提到的 SubscribedSkus API 非常详细,它为您提供有关启用的功能以及可用的许可证数量、已使用等信息。

这是 MSDN 论坛上的一个类似主题,你也应该看看,它只讨论门户但仍然是相关的概念:如何检查 Azure AD 版本

以下示例将打印包含 Azure AD Premium 服务计划的所有活动订阅 SKU:

// There are various Azure AD versions and editions. Here we're only counting
// Azure AD Premium Plan 1 and Azure AD Premium Plan 2. 
var azureAdPlans = new[] { "AAD_PREMIUM", "AAD_PREMIUM_P2" };

// Get all subscribed SKUs
var subscribedSkus = graphClient
    .SubscribedSkus
    .Request().GetAsync().GetAwaiter().GetResult();

// Filter down the results to only active subscribed SKUs with Azure AD service plans.
var skusWithAzureAd = subscribedSkus
    .Where(sku => (sku.CapabilityStatus == "Enabled" || sku.CapabilityStatus == "Warning")
                && (sku.ServicePlans.Any(p => azureAdPlans.Contains(p.ServicePlanName))));

// Print out the results
foreach (var sku in skusWithAzureAd)
{
    Console.WriteLine(
        "{0} ({1}/{2} seats used)", 
        sku.SkuPartNumber, 
        sku.ConsumedUnits, 
        sku.PrepaidUnits.Enabled + sku.PrepaidUnits.Warning);
}
于 2018-11-10T07:50:06.533 回答