Управление группами в Azure AD и Microsoft 365 с помощью PowerShell
Для управления группами в Azure можно использовать графические инструменты управления, такие как Портал Azure или Центр администрирования Microsoft 365. В этой статье мы покажем, как создавать, редактировать, обновлять и удалять группы в Azure AD или Microsoft 365 с помощью PowerShell.
Первое, что следует отметить, — это то, что в Azure (M365) существует несколько типов групп:
Группы безопасности Azure AD используются для управления доступом к приложениям и ресурсам Azure. Вы можете разрешить доступ к приложению Azure, назначить политики или лицензии Azure (лицензирование на основе групп) группам безопасности.
Группы Microsoft 365 (ранее называвшиеся группы Office 365) используются как универсальное средство доступа к различным продуктам Microsoft 365 (Teams, Yammer, PowerBI, SharePoint и общему почтовому ящику Outlook). ). В целом M365 — это общая рабочая область для членов команды. При добавлении пользователя в группу M365 он может получить доступ ко всему контенту, опубликованному с момента создания группы. Пользователи такой группы могут обмениваться файлами, документами, списками рассылки, календарями и т. д.;
Группы рассылки используются для распространения сообщений группе получателей или массовой отправки электронных писем;
-
Группы безопасности с поддержкой почты используются как для предоставления доступа к ресурсам, так и для отправки рассылок.
Вы можете добавлять пользователей в группу Azure AD или Microsoft 365 вручную (назначенное членство) или динамически (добавляется автоматически на основе атрибутов пользователя или устройства).
Как создать группу безопасности Azure AD с помощью PowerShell?
Группы безопасности Azure AD можно создавать вручную или синхронизировать из локальной Active Directory. Давайте посмотрим, как создавать группы безопасности Azure AD и добавлять в них пользователей с помощью PowerShell.
Подключитесь к своему клиенту Azure с помощью модуля Azure AD PowerShell:
Connect-AzureADЧтобы создать новую группу безопасности Azure, выполните следующую команду:
New-AzureADGroup -DisplayName grVMadmins -SecurityEnabled $true -Description "CORP VM admins" -MailEnabled $false -MailNickName "NotSet"Используя API Microsoft Graph, вы можете получить дату создания группы в Azure AD.
Чтобы получить информацию о группе, выполните команду:
Get-AzureADGroup -SearchString grVMadminsЧтобы добавить пользователя в группу Azure AD, используйте командлет Add-AzureADGroupMember.
Получите идентификатор пользователя и группы:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
$UserObj = Get-AzureADUser -SearchString AlexW@active-directory.ru
Затем добавьте идентификатор пользователя в группу:
Add-AzureADGroupMember -ObjectId $GroupObj.ObjectId -RefObjectId $UserObj.ObjectIdПеречислите участников группы:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
Get-AzureADGroupMember -ObjectId $GroupObj.ObjectId| select DisplayName,UserPrincipalName,UserTypeВы можете назначить владельца группы Azure с помощью Add-AzureADGroupOwner.
Add-AzureADGroupMember -ObjectId $GroupObj.ObjectId -RefObjectId $UserObj.ObjectIdЧтобы отобразить владельца группы:
$GroupObj = Get-AzureADGroup -SearchString grVMadmins
Get-AzureADGroupOwner -ObjectId $GroupObj.ObjectIdЧтобы вывести список всех групп, синхронизированных из локального Active Directory через Azure AD Connect (файл
LastDirSyncTimeатрибут показывает дату последней синхронизации).
Get-AzureADGroup -Filter 'DirSyncEnabled eq true' | select ObjectId,DisplayName,LastDirSyncTimeУправление группами Microsoft 365 с помощью PowerShell
Группы Microsoft 365 создаются автоматически с помощью приложений M365 (Teams, Share Point, Outlook, Yammer и т. д.). По умолчанию любой пользователь клиента может создать группу Microsoft 365. Когда пользователь создает новую группу в Outlook или любом другом приложении, создается группа Microsoft 365. Группы Microsoft 365 доступны во всех службах M365.
Группа сразу же появится в списке групп на портале Azure и в центре администрирования Microsoft 365.
Чтобы создать группы Microsoft 365, вы можете использовать командлет New-UnifiedGroup из модуля Exchange Online для PowerShell (EXOv2).
Подключитесь к своему арендатору:
Connect-ExchangeOnlineЧтобы создать новую группу M365, выполните следующую команду:
New-UnifiedGroup -DisplayName "HQ IT Department" -Alias "it-dept" -EmailAddresses it-dept@active-directory.ru -AccessType PrivateM365 имеет два типа групп:
Public - открытая группа. Любой пользователь может присоединиться к группе и получить доступ к ее содержимому;
Частный - доступ имеют только участники группы. Владелец группы или администратор Azure может добавить пользователя в частную группу.
Чтобы добавить пользователей или владельцев в группу, используйте командлет Add-UnifiedGroupLinks. Добавим пользователя в группу и назначим его владельцем:
Add-UnifiedGroupLinks -Identity it-dept -LinkType Members -Links DiegoF
Add-UnifiedGroupLinks -Identity it-dept -LinkType Owners -Links DiegoFВы можете добавить подписчика в группу. Подписчик будет получать уведомления по электронной почте:
Add-UnifiedGroupLinks -Identity it-dept -LinkType Subscribers -Links AlexWЕсли вы хотите одновременно добавить несколько пользователей в группу Microsoft 365, вы можете импортировать список пользователей из CSV-файла:
Import-CSV "C:\PS\Data\add_m365_members.csv" | ForEach-Object {
Add-UnifiedGroupLinks -Identity it-dept -LinkType Members -Links $_.member
}Чтобы отобразить всех пользователей в группе:
Get-UnifiedGroupLinks -Identity it-dept -LinkType MembersЧтобы показать владельцев группы:
Get-UnifiedGroupLinks -Identity it-dept -LinkType OwnersВы можете скрыть группу M365 из глобального списка адресов (GAL):
Set-UnifiedGroup -Identity it-dept -HiddenFromAddressListsEnabled $trueСоздание динамических групп и управление ими с помощью Azure AD PowerShell.
Вы можете создать динамическую группу пользователей или устройств в Azure AD. Участники добавляются в группу динамически на основе атрибутов пользователя Azure. Динамическое членство поддерживается как для групп безопасности Azure, так и для групп Microsoft 365. Чтобы создать динамические группы, используйте командлет New-AzureADMSGroup из модуля AzureAD.
Для динамических групп требуется лицензия Azure AD Premium P1 или P2.
Например, вы можете создать динамическую группу, включающую всех пользователей из Мюнхена (
user.city -eq "Munich") с конкретной должностью (
user.jobTitle -like "*Engineer*"). Для этого примера давайте создадим динамическую группу безопасности Azure:
New-AzureADMSGroup -Description "mun_engineers" -DisplayName "All Munich IT dept engineers (dynamic)" -MailEnabled $false -SecurityEnabled $true -MailNickname mun_engineers -GroupTypes "DynamicMembership" -MembershipRule "(user.city -eq ""Munich"" -and user.jobTitle -contains ""Engineer"")" -MembershipRuleProcessingState "On"К сожалению, модуль AzureAD возвращает следующую ошибку после выполнения команды:
New-AzureADMSGroup : A parameter cannot be found that matches parameter name 'MembershipRule'.Чтобы создать динамическую группу в Azure, вам необходимо использовать модуль AzureADPreview:
Import-Module AzureADPreview
get-command New-AzureADMSGroupЧтобы создать динамическую группу Microsoft 365, укажите Unified в качестве типа группы:
New-AzureADMSGroup -DisplayName "M365 Admins" -Description "Dynamic Microsoft 365 Group for tenant admins" -MailEnabled $True -SecurityEnabled $True -MailNickname M365GAdmins -GroupTypes "DynamicMembership", "Unified" -MembershipRule "(User.department -eq ""IT"")" -MembershipRuleProcessingState "On"Членство в динамических группах Azure в организации обновляется при изменении свойств пользователя или устройства. Если вы вносите массовые изменения в AD, импортируете много пользователей или меняете архитектуру групп/пользователей, рекомендуется на некоторое время приостановить автоматическое обновление динамических групп:
$dynGroupObj = Get-AzureADMSGroup -SearchString “All Munich IT dept engineers (dynamic)”
Set-AzureADMSGroup -Id $dynGroupObj.id -MembershipRuleProcessingState "Paused"Чтобы включить обработку правил для динамической группы, выполните следующую команду:
Set-AzureADMSGroup -Id $dynGroupObj.id -MembershipRuleProcessingState "On"В таблице ниже показаны атрибуты пользователя, которые можно использовать для создания запросов для динамических групп Azure.
| Type | Attribute | Example |
| Bool | accountEnabled | user.accountEnabled -eq true |
| Bool | dirSyncEnabled | user.dirSyncEnabled -eq true |
| String | city | (user.city -eq "value") |
| String | country | (user.country -eq “value”) |
| String | companyName | (user.companyName -eq “value”) |
| String | department | (user.department -eq “value”) |
| String | displayName | (user.displayName -eq “value”) |
| String | employeeId | (user.employeeId -eq “value”) |
| String | facsimileTelephoneNumber | (user.facsimileTelephoneNumber -eq “value”) |
| String | givenName | (user.givenName -eq “value”) |
| String | jobTitle | (user.jobTitle -eq “value”) |
| String | (user.mail -eq “value”) | |
| String | mailNickName | (user.mailNickName -eq “value”) |
| String | mobile | (user.mobile -eq “value”) |
| String | objectId | (user.objectId -eq “value”) |
| String | onPremisesSecurityIdentifier | (user.onPremisesSecurityIdentifier -eq “value”) |
| String | passwordPolicies | (user.passwordPolicies -eq “DisableStrongPassword”) |
| String | physicalDeliveryOfficeName | (user.physicalDeliveryOfficeName -eq “value”) |
| String | postalCode | (user.postalCode -eq “value”) |
| String | preferredLanguage | (user.preferredLanguage -eq “de-DE”) |
| String | sipProxyAddress | user.sipProxyAddress -eq “value” |
| String | state | (user.state -eq “value”) |
| String | streetAddress | user.streetAddress -eq “value” |
| String | surname | user.surname -eq “value” |
| String | telephoneNumber | (user.telephoneNumber -eq “value”) |
| String | usageLocation | (user.usageLocation -eq “US”) |
| String | userPrincipalName | (user.userPrincipalName -eq “user@contoso.com”) |
| String | userType | (user.userType -eq “Member”) |
| String collection | otherMails | (user.otherMails -contains “user@contoso.com”) |
| String collection | proxyAddresses | (user.proxyAddresses -contains “SMTP: alias@contoso.com”) |
В локальной Active Directory можно использовать только динамические группы рассылки Exchange.
Если вы хотите создать динамические группы безопасности в AD, вы можете использовать сценарии автоматизации PowerShell (см. пример). Узнайте больше об управлении группами в локальной Active Directory с помощью PowerShell.






