Настройка имперсонификации пользователей с помощью Windows PowerShell в Exchange Online

В статье Настройка Windows PowerShell для Office 365 было настроено необходимое окружение для выполнения командлетов Windows PowerShell, в статье Создание пользователей и групп в Exchange Online были созданы группы и пользователи. В данной статье мы рассмотрим команды, необходимые для настройки имперсонификации пользователей. В следующей статье будет представлен программный код управления почтовыми ящиками имперсонифицированных пользователей.

1. Список групп.
Список групп безопасности можно возвратить с помощью командлета Get-MsolGroup, а список групп распространения – с помощью Get-Group. Командлет возврата групп безопасности (с уменьшенным набором полей)

Get-MsolGroup | fl DisplayName, EmailAddress, GroupType, Description, IsSystem, ValidationStatus

на рассматриваемом окружении дает такой результат:

DisplayName      : Service Accounts
EmailAddress     : Service.Accounts@ExampleCompany.onmicrosoft.com
GroupType        : MailEnabledSecurity
Description      : 
IsSystem         : False
ValidationStatus : Healthy

DisplayName      : Impersonated Users
EmailAddress     : Impersonated.Users@ExampleCompany.onmicrosoft.com
GroupType        : MailEnabledSecurity
Description      : 
IsSystem         : False
ValidationStatus : Healthy

DisplayName      : AD Service Accounts
EmailAddress     : 
GroupType        : Security
Description      : AD security group that will not be used for
                   impersonification
IsSystem         : False
ValidationStatus : Healthy

Аналогично, список групп распространения с уменьшенным набором полей и не включая предопределенные группы возвращается командлетом

Get-Group | where {$_.DisplayName -ne ""} | fl DisplayName, GroupType, ManagedBy, SamAccountName, RecipientType, WindowsEmailAddress, Notes, Members, OrganizationalUnit, Identity, DistinguishedName, ObjectCategory

и выглядит таким образом:

DisplayName         : Company Administrator
GroupType           : Universal, SecurityEnabled
ManagedBy           : {Organization Management}
SamAccountName      : TenantAdmins_9a5de
RecipientType       : Group
WindowsEmailAddress : 
Notes               : 
Members             : {Owner.Account}
OrganizationalUnit  : eurpr06a001.prod.outlook.com/Microsoft Exchange Hosted
                      Organizations/ExampleCompany.onmicrosoft.com
Identity            : TenantAdmins_9a5de
DistinguishedName   : CN=TenantAdmins_9a5de,OU=ExampleCompany.onmicrosoft.com,
                      OU=Microsoft Exchange Hosted Organizations,DC=EURPR06A001,
                      DC=prod,DC=outlook,DC=com
ObjectCategory      : EURPR06A001.prod.outlook.com/Configuration/Schema/Group

DisplayName         : Helpdesk Administrator
GroupType           : Universal, SecurityEnabled
ManagedBy           : {Organization Management}
SamAccountName      : HelpdeskAdmins_bc4ec
RecipientType       : Group
WindowsEmailAddress : 
Notes               : 
Members             : {}
OrganizationalUnit  : eurpr06a001.prod.outlook.com/Microsoft Exchange Hosted
                      Organizations/ExampleCompany.onmicrosoft.com
Identity            : HelpdeskAdmins_bc4ec
DistinguishedName   : CN=HelpdeskAdmins_bc4ec,OU=ExampleCompany.onmicrosoft.com,
                      OU=Microsoft Exchange Hosted Organizations,DC=EURPR06A001,
                      DC=prod,DC=outlook,DC=com
ObjectCategory      : EURPR06A001.prod.outlook.com/Configuration/Schema/Group

DisplayName         : Service Accounts
GroupType           : Universal, SecurityEnabled
ManagedBy           : {Owner.Account}
SamAccountName      : Service Accounts1
RecipientType       : MailUniversalSecurityGroup
WindowsEmailAddress : Service.Accounts@ExampleCompany.onmicrosoft.com
Notes               : Group members are allowed to impersonate other accounts.
Members             : {Mail.Admin, Owner.Account}
OrganizationalUnit  : eurpr06a001.prod.outlook.com/Microsoft Exchange Hosted
                      Organizations/ExampleCompany.onmicrosoft.com
Identity            : Service Accounts
DistinguishedName   : CN=Service Accounts,OU=ExampleCompany.onmicrosoft.com,
                      OU=Microsoft Exchange Hosted Organizations,DC=EURPR06A001,
                      DC=prod,DC=outlook,DC=com
ObjectCategory      : EURPR06A001.prod.outlook.com/Configuration/Schema/Group

DisplayName         : Impersonated Users
GroupType           : Universal, SecurityEnabled
ManagedBy           : {Owner.Account}
SamAccountName      : Impersonated Users
RecipientType       : MailUniversalSecurityGroup
WindowsEmailAddress : Impersonated.Users@ExampleCompany.onmicrosoft.com
Notes               : Group members can be impersonated by any member of
                      Service Accounts group.
Members             : {Second.User, First.User}
OrganizationalUnit  : eurpr06a001.prod.outlook.com/Microsoft Exchange Hosted
                      Organizations/ExampleCompany.onmicrosoft.com
Identity            : Impersonated Users
DistinguishedName   : CN=Impersonated Users,OU=ExampleCompany.onmicrosoft.com,
                      OU=Microsoft Exchange Hosted Organizations,DC=EURPR06A001,
                      DC=prod,DC=outlook,DC=com
ObjectCategory      : EURPR06A001.prod.outlook.com/Configuration/Schema/Group

2. Создание группы распространения.
В статье Создание пользователей и групп в Exchange Online группы создавались с помощью Web интерфейса. Для того, чтобы создать mail-enabled distribution group группу с помощью Windows PowerShell, необходимо выполнить такой командлет

New-DistributionGroup -Name "Impersonated Users2" -Alias "Impersonated.Users2" -DisplayName "PS Impersonated Users" -ManagedBy "Owner.Account@ExampleCompany.onmicrosoft.com" -MemberDepartRestriction Closed -MemberJoinRestriction ApprovalRequired -Members "Third.User@ExampleCompany.onmicrosoft.com", "Fourth.User@ExampleCompany.onmicrosoft.com" -Notes "Group members can be impersonated by any member of Service Accounts group" -PrimarySmtpAddress "Impersonated.Users2@ExampleCompany.onmicrosoft.com" -Type Security

Создается группа PS Impersonated Users, которая содержит пользователей Third.User и Fourth.User, владелец группы Owner.Account, который не включен в группу.

Добавление группы - список Exchange групп
Добавление группы – список Exchange групп

3. Настройка имперсонификации.
Настройка имперсонификации для Exchange Online не отличается от настройки для Exchange 2010. Чтобы пользователи из группы Service Accounts получили возможность имперсонифицировать пользователей из группы Impersonated Users и управлять их почтовыми ящиками, нужно создать новую область управления, включив в нее группу Impersonated Users. Для указания фильтра воспользуемся именен группы из результатов запроса групп распространения

New-ManagementScope -Name "Support Group" -RecipientRestrictionFilter {MemberOfGroup -eq "CN=Impersonated Users,OU=ExampleCompany.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURPR06A001,DC=prod,DC=outlook,DC=com"}

После этого требуется для группы Service Accounts создать новую роль имперсонификации

New-ManagementRoleAssignment -Name Custom-Impersonation-Assignment -Role ApplicationImpersonation -CustomRecipientWriteScope "Support Group" -SecurityGroup "Service Accounts"


1. Все используемые IP-адреса, имена серверов, компьютеров, доменов, пользователей, являются фиктивными и используются исключительно в демонстрационных целях.
2. Информация приводится «AS IS».

One thought on “Настройка имперсонификации пользователей с помощью Windows PowerShell в Exchange Online

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.