Deleting Azure AD Applications via Graph API

Обновить

December 2018

Просмотры

407 раз

1

Я была поставлена ​​задача написания несколько Powershell сценариев автоматизировать некоторые основные операции в нашей Azure AD арендатора. Я успешно добавлять и удалять пользователей и домены, и я добавил новые приложения через API Azure Graph, но я не везло с удалением приложений.

Создается впечатление , что документация на этом минимальна, и я не смог найти какие - либо примеры кто - то делает это. На основании справки для приложений под поддерживаемых операций, оно должно быть возможным ( https://msdn.microsoft.com/library/azure/ad/graph/api/entity-and-complex-type-reference#applicationentity ):

Поддерживаемые операции

Следующие операции поддерживаются приложения (методы HTTP являются> указаны в скобках):

создания (POST)

чтения (READ)

обновление (PATCH)

удаление (DELETE)

Так что если URI выглядеть? Я не мог найти прямой ответ, но удалить пользователя, вы бы использовать это:

https://graph.windows.net/myorganization/users/{user_id}[?api-version]

Так, я думал попробовать что-то подобное для удаления приложения:

https://graph.windows.net/company.onmicrosoft.com/applications/{application_id}?api-version=1.6

Если это верно, то, что идентификатор приложения? ID клиента и App ID URI сделать больше смысла для меня, но ни те, ни имя приложения работали для меня до сих пор. Может быть, проблема форматирования? Я получаю различные ошибки в зависимости от того, что я стараюсь.

Имя приложения:

https://graph.windows.net/company.onmicrosoft.com/applications/application4?api-version=1.6

Урожайность

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Invalid object identifier 'application4'."},"values":null}}

ID клиента (обнуляется здесь):

https://graph.windows.net/company.onmicrosoft.com/applications/00000000-0000-0000-0000-000000000000?api-version=1.6

Урожайность

Invoke-RestMethod : {"odata.error":"code":"Request_ResourceNotFound","message":{"lang":"en","value":"Resource '00000000-0000-0000-0000-000000000000' does not exist or one of its queried reference-property objects are not present."}}}

App ID URI - не был уверен, как именно, чтобы добавить это. Нужна ли мне какая-то кодировка, может быть? Пробовал двумя способами:

https://graph.windows.net/company.onmicrosoft.com/applications/application4.company.com?api-version=1.6

Который дает

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Invalid object identifier 'application4.company.com'."},"values":null}}

а также

https://graph.windows.net/company.onmicrosoft.com/applications/https://application4.company.com?api-version=1.6

Что я подозреваю, где кодирование может прийти. В настоящее время он просто дает

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message"{"lang":"en","value":"Bad request. Please fix the request before retrying."}}}

Любая идея, где я неправильно?

MGS

1 ответы

3

Вы должны использовать ObjectId. В дополнении к идентификатору клиента, приложение (например, всем объекты ПВО) имеет ObjectId.

Таким образом, URL должно быть:

https://graph.windows.net/company.onmicrosoft.com/applications/{application_objectId}?api-version=1.6