Фильтр API Microsoft Graph для облачных групп - PullRequest
0 голосов
/ 05 декабря 2018

Я вбиваю голову в свою плохую клавиатуру, пытаясь извлечь из базы Azure AD самую основную информацию.Командлеты PowerShell, кажется, медленные и ограничивающие, сделали попытку REST API.Схватил себе жетон и пошел:

https://graph.microsoft.com/beta/groups

Отлично, получил некоторые данные.Очень недоволен, что таких вещей, как lastModified, там нет.Ни владелец, ни что-либо из этого фильтруемого через вызов REST.

Мой единственный вариант синхронизации групп Cloud только с моей базой данных для наших домашних инструментов, с которыми можно объединиться, - это запускать полную синхронизацию каждый раз для всех групп (в настоящее время более 10 тысяч групп).Конечно, это займет около 30 секунд.Но если бы я мог просто вытащить только облачные группы, это было бы только около 1K объектов.

Пока я плачу об этом, что случилось с супер маленькими пределами страницы?100 по умолчанию с возможностью использовать $ top, чтобы получить до 999, но о да, большинство вещей не поддерживают так 100 объектов одновременно.По крайней мере, сделайте 1000 по умолчанию.

График API, на мой взгляд, крайне ограничен и для использования в плате бесполезен.Я действительно ожидал большего.

В любом случае, я пытаюсь заставить что-то вроде этого работать: https://graph.microsoft.com/beta/groups?$filter=onPremisesSyncEnabled eq null или https://graph.microsoft.com/beta/groups?$filter=onPremisesSyncEnabled ne true **, потому что опять удар головой здесь, 'ne' не поддерживается, и даже если это было, Azure может 'не стоит задавать все 1 или 0, так что это больше похоже на возвращаемые значения true или null

Есть ли лучший API для использования?Есть ли способ получить дату последнего изменения?Учитывая некоторые дельта-вещи, на которые я видел ссылки, кажется, что у них где-то есть эта информация.

1 Ответ

0 голосов
/ 06 декабря 2018

Командлеты PowerShell, по-видимому, медленны и ограничены, сделали попытку REST API.

Хотя вы, безусловно, получите больше гибкости, если вы запросите API напрямую, оставайтесь вимейте в виду, что модуль AzureAD PowerShell - это всего лишь тонкая оболочка вокруг API-интерфейса Azure AD Graph (и для некоторых командлетов вокруг Microsoft Graph API).

Очень недовольны такими вещами, как lastModified aren

Правильно, сегодня Azure AD не раскрывает эту информацию.

Мой единственный вариант синхронизации групп только из облака в моей базе данных для наших доморощенныхинструменты, с помощью которых можно объединиться, - это запускать полную синхронизацию каждый раз во всех группах (в настоящее время более 10 тыс. групп).

Для сценариев синхронизации простой дельта-запрос , скорее всего, будетсвести результаты, которые вы получите, к одной странице, которая, будем надеяться, сделает это спорным.

В любом случае, я пытаюсь заставить что-то подобное работать: https://graph.microsoft.com/beta/groups?$filter=onPremisesSyncEnabled eq null или https://graph.microsoft.com/beta/groups?$filter=onPremisesSyncEnabled ne true

Несмотря на то, что над этим что-то решается, в настоящее время нет хорошего способа только извлекать только облачные группы с использованием фильтрации на стороне обслуживания.

Есть ли способполучить дату последнего изменения?Учитывая некоторые дельта-вещи, на которые я видел ссылки, похоже, у них где-то есть эта информация.

Не напрямую, нет.Самое близкое, что вы можете получить, - это синхронизировать (либо с дельта-запросами, либо подписаться на события изменений), и записывать, когда вы получаете изменение в виде верхнего приближения.Кроме того, вы можете проанализировать журнал аудита на предмет изменений, которые вас интересуют.

...