Как составить список всех определений расширений каталогов в арендаторе Entra ID.
Get-MgDirectoryObjectAvailableExtension
возвращает только несколько определений расширений каталогов, происходящих из мультитенантных приложений:
Вернуть все зарегистрированные определения расширений каталогов. в каталоге, в том числе через мультитенантные приложения.
В частности, не возвращаются определения расширений каталогов, созданные в приложении в клиенте. Их возвращает Get-MgApplicationExtensionProperty -ApplicationId ApplicationId
, для чего требуется идентификатор приложения.
@SantiagoSquarzon Расширения схемы и расширения каталогов — это не одно и то же
Чтобы вывести список всех определений расширений каталогов в клиенте Microsoft Entra ID, в качестве обходного пути используйте приведенный ниже сценарий PowerShell:
# Retrieve all applications in the tenant
$applications = Get-MgApplication
$allExtensions = @()
# Loop through each application to get its extension properties
foreach ($app in $applications) {
$extensions = Get-MgApplicationExtensionProperty -ApplicationId $app.Id
$allExtensions += $extensions
}
# Retrieve available extension properties for directory objects
$directoryExtensions = Get-MgDirectoryObjectAvailableExtensionProperty
# Combine both results
$allExtensions += $directoryExtensions
$allExtensions
Спасибо. Почему не работает Get-MgDirectoryObjectAvailableExtension? Расширения каталога не могут быть определены в каталоге, а только в приложениях. Можете ли вы уточнить?
Я предполагаю, что по умолчанию он возвращает все определения расширений каталога, которые были зарегистрированы в каталоге.
но определения расширения каталога AFAIK можно определить только в приложении. Вы когда-нибудь сталкивались с определениями расширений каталогов, зарегистрированными в каталоге?
Да, определения расширений каталогов можно определить только в приложении.
Пожалуйста, посмотрите скриншот, который я добавил к своему вопросу. Get-MgDirectoryObjectAvailableExtension
должен возвращать все расширения каталогов, но это не так. Те, которые определены в приложении, не возвращаются. Это ошибка?
Вашему скрипту нужен Get-MgApplication -All
в первой строке, иначе он вернет только 100 заявок.
Да, у меня не более 100 приложений, поэтому я это пропустил. Вы можете включить флаг -All
Я не считаю это ошибкой, команды созданы для разных сценариев.
Давайте продолжим обсуждение в чате.
Да, спасибо. Поэтому я надеялся, что вы сможете объяснить разницу между расширениями приложений и каталогов.
Конечно, исследую и свяжусь с вами.
Вы можете вызвать Get-MgApplication
и развернуть extensionProperties
Import-Module Microsoft.Graph.Applications
Get-MgApplication -All -ExpandProperty "extensionProperties" -Property "id,appId"
Спасибо. Вы не возвращаете набор атрибутов, а выбираете только другие свойства :)
Возможно, вам нужна эта конечная точка: Learn.microsoft.com/en-us/graph/api/…