Как определить, какая версия Azure AD используется с помощью C #? - PullRequest
0 голосов
/ 10 ноября 2018

Мне нужно определить, является ли используемая версия AzureAD Premium или нет.

Как мне определить это в C #?

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете использовать API-интерфейсы Microsoft Graph либо через Клиентская библиотека Microsoft Graph .NET , либо через прямые вызовы HTTP. Соответствующий API:

Кроме того, обратите внимание, что для получения информации об издании Azure AD в одной и той же Azure AD может быть включено несколько служб, а лицензии приобретаются / назначаются для каждого пользователя.

API SubscribeedSkus, упомянутый выше, довольно подробный и дает вам информацию о включенных возможностях, а также количестве доступных лицензий, использованных и т. Д.

Вот аналогичная ветка на форумах MSDN, на которую вы также должны обратить внимание, она говорит только о портале, но концепция все еще актуальна: Как проверить версию Azure AD .

Ниже приведен пример печати всех активных подписанных SKU, включающих тарифный план Azure AD Premium:

// 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);
}
...