Мне интересно, есть ли способ отличить группы безопасности Office 365 от обычных списков рассылки в O365.
У меня есть сценарий регистрации PowerShell, который использует существующую учетную запись пользователя для копирования доступа,и помещает все их распределения + группы Office 365 в массив.Точнее говоря, он помещает в массив ObjectID / GUID идентификаторов группы / списка.
Проблема в том, что я не могу найти хороший способ добавить моего нового пользователя ко всем группам вмассив.Я использую командлет Add-DistributionGroupMember
для добавления пользователя в списки рассылки и Add-AzureADGroupMember
для групп безопасности Office 365.Допустим, существующий пользователь является членом 4 списков рассылки и 3 групп безопасности O365.Мой текущий код:
$groups = Get-AzureADUserMembership -ObjectId $existingUser | Select-Object -ExpandProperty ObjectID
foreach($group in $groups) {
Add-DistributionGroupMember -Identity $group -Member $newUser
Add-AzureADGroupMember -ObjectID $group -RefObjectID $newUser
}
Этот код работает , так как у нового пользователя действительно попадает во все 7 групп.Так что это хорошо.
Но он также выдаст 7 сообщений об ошибках:
3 раза я получу "The current operation is not supported on GroupMailbox."
, когда Add-DistributionGroupMember попытается добавить пользователя в группу O365.
4 раза я получу Add-AzureADGroupMember : Error occurred while executing AddGroupMember
Code: Request_BadRequest
Message: Unable to update the specified properties for objects that have originated within an external service.
Самый простой способ решить эту проблему - получить список всех идентификаторов GUID группы безопасности O365 и поместить их в массив.А затем используйте оператор if, чтобы проверить, отображается ли текущая группа $ в этом массиве для использования соответствующей команды.
Но я не могу найти способ получить это свойство через PowerShell.Существует ли какая-либо команда Azure AD, которая позволяет мне определить, является ли группа списком регулярного распространения или нет?