Управление разрешениями календаря на Exchange Server и Microsoft 365
В этой статье мы рассмотрим, как управлять разрешениями календаря в локальных почтовых ящиках Exchange Server и Microsoft 365 с помощью Outlook и PowerShell. Мы также сосредоточимся на теме просмотра доступности (информации о занятости) в календарях комнат или общих почтовых ящиках.
Довольно часто администратору Exchange необходимо предоставить кому-либо доступ к календарю другого сотрудника. Например, секретарь хочет создавать, удалять и редактировать любые элементы в календаре директора и почтовом ящике конференц-зала; или руководитель отдела хочет видеть и редактировать доступность сотрудников в своих календарях.
Как поделиться календарем в Outlook и Outlook Web App?
Пользователь может предоставить доступ к своему календарю непосредственно из Outlook. Календарь Exchange — это, по сути, обычная папка в почтовом ящике пользователя. Доступ к календарю можно настроить в настольной версии Outlook или через Outlook Web Access (Outlook в Интернете).
Выберите календарь и нажмите Доступ и разрешения в его свойствах.
В следующем окне появится текущий список пользователей и групп, имеющих доступ к вашему календарю. В нашем примере любой пользователь вашей организации (арендатор) может просматривать информацию о доступности в календаре (
Can view when I'm busy). Пользователь Генриетта имеет разрешения на создание и редактирование любых элементов календаря.
Пользователь может отправить приглашение поделиться своим календарем с другим пользователем. Просто введите адрес электронной почты пользователя и выберите разрешение доступа. В этом примере я даю Алексу разрешение на просмотр событий в моем календаре (Может просматривать все подробности).
В настольных версиях Outlook разрешения календаря назначаются аналогичным образом. Откройте Outlook, выберите Календарь и нажмите Разрешения календаря. В следующем окне вы увидите, кто может получить доступ к вашему календарю. С помощью кнопок Добавить/Удалить вы можете предоставлять и отзывать права доступа.
Назначение разрешений календаря в почтовом ящике Exchange/Microsoft 365 с помощью PowerShell
Администратор организации/клиента может предоставить доступ к любому календарю пользователя или общему почтовому ящику с помощью PowerShell или API Microsoft Graph (для Microsoft 365/Azure). Только с помощью PowerShell вы можете быстро предоставить доступ ко всем календарям пользователей в организации.
Основные принципы, используемые для управления разрешениями на папки почтовых ящиков в Exchange/Office 365, полностью применимы и к управлению разрешениями календаря.
Откройте консоль PowerShell и подключитесь к локальному серверу Exchange Server или клиенту Microsoft 365 (Exchange Online):
-
Используя PowerShell, вы можете удаленно подключиться к локальному серверу Exchange с любого компьютера, даже без установленного модуля EMS (Exchange Management Shell):
$ExchAdmCred = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mun-mx1.active-directory.ru/PowerShell/ -Authentication Kerberos -Credential $ExchAdmCred Import-PSSession $Session Чтобы подключиться к клиенту Exchange Online (Microsoft 365) с включенной многофакторной аутентификацией (MFA), используйте модуль Exchange Online PowerShell. Он также поддерживает соединение с использованием современной аутентификации:
Connect-ExchangeOnline -UserPrincipalName maxbak@active-directory.onmicrosoft.com
Вы можете просмотреть текущие разрешения календаря пользователя, используя команду ниже:
Get-MailboxFolderPermission -Identity maxbak:\CalendarНазвания папок календаря могут различаться в зависимости от региональных настроек вашего почтового ящика. Например, для немецкого почтового ящика вам следует заменить аргумент команды на
maxbak:\KalenderВ столбце «Пользователь» показаны пользователи, а в столбце «AccessRights» — права доступа. В Exchange имеется несколько предопределенных ролей, которые можно использовать для установки разрешений для папок и календаря (роли с наименьшими привилегиями идут первыми):
- None
- AvailabilityOnly
- Contributor
- Reviewer
- NonEditingAuthor
- Author
- PublishingAuthor
- Editor
- PublishingEditor
- Owner
Чтобы предоставить другому пользователю доступ к папке почтового ящика, используйте командлет Add-MailboxFolderPermission. Например, чтобы разрешить пользователю A.Weber редактировать элементы календаря S.Fischer, выполните команду:
Add-MailboxFolderPermission -Identity S.Fischer:\Calendar -User A.Weber -AccessRights EditorЕсли вы хотите предоставить разрешения только на просмотр:
Add-MailboxFolderPermission -Identity S.Fischer:\Calendar -User A.Weber -AccessRights ReviewerЧтобы удалить разрешения календаря:
Remove-MailboxFolderPermission -Identity S.Fischer:\Calendar -user A.WeberВы можете экспортировать текущие разрешения календаря для всех почтовых ящиков в вашем клиенте Azure (организации Exchange) в файл CSV:
$Mailboxes = Get-Mailbox -ResultSize Unlimited | Select-Object UserPrincipalName
foreach ($mailbox in $Mailboxes) {
Get-MailboxFolderPermission -Identity "$($mailbox.UserPrincipalName):\Calendar" |
Select-Object @{Name="UrerPrincipalName";E={$mailbox.UserPrincipalName}},FolderName,User,AccessRights |
Export-Csv C:\PS\Calendar_report.csv -NoTypeInformation -Append
}
Позже вы сможете проанализировать CSV-файл с именами UPN почтового ящика и разрешениями календаря в Excel.
Следующий скрипт PowerShell позволит конкретному пользователю просматривать все календари в вашей организации:
Foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited)) { Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Owner -User A.Weber}Как показать полную информацию о свободном/занятом времени в календаре Exchange/Microsoft 365?
Пользователи в одной организации могут просматривать информацию о доступности других пользователей или почтовых ящиков ресурсов. По умолчанию доступна только информация о доступности.
Темы, описания и местоположения не отображаются в календарях других пользователей.
Default= AvailabilityOnlyразрешение вызывает такое поведение. Тип разрешения AvailabilityOnly позволяет просматривать только информацию о доступности (свободен/занят).
Вы можете захотеть, чтобы пользователи просматривали в календаре как доступность, так и темы или местоположения (например, календарь общих ресурсов). Следующая команда позволяет всем пользователям просматривать события в календарях всех почтовых ящиков помещений:
Foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited) | Where {$_.ResourceType -eq "Room") { Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights AvailabilityOnly -User Default }По умолчанию вместо названия собрания отображается имя владельца. Такое поведение задается
AddOrganizerToSubject = $trueатрибут. Чтобы разрешить просмотр предметов и их содержимого в календаре комнаты, используйте команду ниже:
Set-CalendarProcessing room123 -DeleteComments $false -DeleteSubject $false -AddOrganizerToSubject $falseВ Exchange Online вы можете настроить, разрешено ли пользователям публиковать свои календари для внешних пользователей (организаций). Откройте Центр администрирования Exchange и выберите Организация -> Общий доступ.
По умолчанию используется Политика общего доступа по умолчанию, которая позволяет предоставлять внешним пользователям только информацию о доступности. Здесь вы можете установить список доменов электронной почты, с которыми вы можете делиться календарями, и/или редактировать набор информации календаря, которая будет опубликована (темы, местоположение, организатор).








