如何通过 C# 检测正在使用哪个版本的 Azure AD?
How can you detect which edition of Azure AD is in use via C#?
我需要确定正在使用的 AzureAD 版本是否为 Premium。
我如何在 C# 中确定它?
您可以通过 Microsoft Graph .NET Client Library 或通过直接 HTTP 调用来使用 Microsoft Graph APIs。相关的 API 是:
-
GET https://graph.microsoft.com/v1.0/subscribedSkus
使用 Microsoft Graph .NET Client Library,您的代码可能类似于
graphServiceClient.SubscribedSkus
另请注意,有关 Azure AD 版本的信息,您可以在同一个 Azure AD 中启用多种服务,并且每个用户的许可证 purchased/assigned。
上面提到的 SubscribedSkus API 非常详细,它为您提供有关已启用功能以及可用许可证数量、消耗等的信息。
MSDN 论坛上有一个类似的帖子,你也应该看看,它只谈论门户但概念仍然相关:How to check Azure AD edition.
下面是一个示例,它将打印包含 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);
}
我需要确定正在使用的 AzureAD 版本是否为 Premium。
我如何在 C# 中确定它?
您可以通过 Microsoft Graph .NET Client Library 或通过直接 HTTP 调用来使用 Microsoft Graph APIs。相关的 API 是:
-
GET https://graph.microsoft.com/v1.0/subscribedSkus
使用 Microsoft Graph .NET Client Library,您的代码可能类似于
graphServiceClient.SubscribedSkus
另请注意,有关 Azure AD 版本的信息,您可以在同一个 Azure AD 中启用多种服务,并且每个用户的许可证 purchased/assigned。
上面提到的 SubscribedSkus API 非常详细,它为您提供有关已启用功能以及可用许可证数量、消耗等的信息。
MSDN 论坛上有一个类似的帖子,你也应该看看,它只谈论门户但概念仍然相关:How to check Azure AD edition.
下面是一个示例,它将打印包含 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);
}