Сведения об общих почтовых ящиках
Общий почтовый ящик — это тип почтового ящика пользователя, который не имеет собственного имени пользователя и пароля. В результате пользователи не могут войти в них напрямую. Чтобы пользователи могли получить доступ к общему почтовому ящику, им сначала необходимо предоставить разрешение «Отправить как» или «Полный доступ» для ящика. После этого пользователи входят в собственные почтовые ящики, а затем получают доступ к общему почтовому ящику путем его добавления в свой профиль Outlook. В Exchange 2003 и более ранних версиях общие почтовые ящики представляли собой обычные почтовые ящики, к которым администратор мог предоставить делегированный доступ. Начиная с Exchange 2007, у общих почтовых ящиков появился собственный тип получателя:
-
RecipientType: UserMailbox
-
RecipientTypeDetails: SharedMailbox
В предыдущей версии Exchange создание общего почтового ящика проходило в несколько этапов и предполагало использование командной консоли Exchange для выполнения некоторых задач. В Exchange 2013 и более поздних версиях можно использовать Центр администрирования Exchange (EAC) для создания общего почтового ящика за один шаг. Дополнительные сведения см. в статье Создание общих почтовых ящиков в Центре администрирования Exchange. В Центре администрирования Exchange есть функциональная область, специально предназначенная для общих почтовых ящиков. Просто перейдите в раздел Получатели>Общие почтовые ящики , чтобы просмотреть все задачи управления для общих почтовых ящиков.
Перед внесением изменений в записи DNS настоятельно рекомендуем максимально снизить значение срока жизни для каждой записи DNS. Значение срока жизни определяет, как долго запись DNS остается в кэше на серверах DNS. Меньший интервал, например 5–10 минут, позволит быстрее отменить любые изменения события, для которого необходимо вернуть исходную конфигурацию. Если вам действительно необходимо изменить значение срока жизни для ваших записей DNS, не вносите другие изменения, пока не истечет исходный интервал.
-
Полный доступ. Разрешение полный доступ позволяет пользователю войти в общий почтовый ящик и действовать в качестве владельца этого почтового ящика. После входа в систему пользователь может создавать элементы календаря; читать, просматривать, удалять и изменять сообщения электронной почты; создавать задачи и вести календарь контактов. Тем не менее, пользователь с разрешением на полный доступ не может отправлять электронную почту из общего почтового ящика, если у него нет также разрешения «Отправить как» или «Отправить от имени».
-
Отправить как. Разрешение «Отправить как» позволяет пользователю олицетворять общий почтовый ящик при отправке почты. Например, если Сергей войдет в общий почтовый ящик отдела маркетинга и отправит электронное сообщение, оно будет выглядеть так, будто отправителем был отдел маркетинга.
-
Отправить от имени. Разрешение «Отправить от имени» позволяет пользователю отправлять электронную почту от имени общего почтового ящика. Например, если Джон входит в общий почтовый ящик Reception Building 32 и отправляет сообщение электронной почты, это будет выглядеть так, как будто сообщение было отправлено «Джон от имени здания ресепшн 32». Вы не можете использовать EAC для предоставления разрешений Отправить от имени. Необходимо использовать командлет Set-Mailbox с параметром GrantSendonBehalf .
Примечание.
Общий почтовый ящик не предназначен для прямого входа. Учетная запись пользователя для общего почтового ящика должна оставаться отключенной (или выключенной).
Назначить права доступа к календарю в ящике Exchange/Microsoft 365 через PowerShell
Администратор организации/арендатор может предоставить доступ к календарю или общему почтовому ящику любого пользователя с помощью PowerShell или Microsoft Graph API (для Microsoft 365/Azure). Кроме того, только с помощью PowerShell вы можете быстро предоставить права доступа к календарям всех пользователей в вашей организации.
Вы можете использовать все правила, описанные в статье об управлении разрешениями папок Exchange/Office 365, для управления доступом к календарю.
Подключитесь к локальному серверу Exchange или к арендатору Microsoft 365 (Exchange Online):
- С помощью консоли PowerShell можно удаленно подключаться к местному серверу Exchange Server с любого компьютера без установки модуля EMS (Exchange Management Tools):
$ExchAdmCred = Get-Credential$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://msk-exch1.winitpro.ru/PowerShell/ -Authentication Kerberos -Credential $ExchAdmCredImport-PSSession $Session
- Чтобы подключиться к облачному арендатору Exchange Online (Microsoft 365) с включенной многофакторной аутентификацией (MFA), используйте плагин Exchange Online PowerShell, он поддерживает подключение с помощью Modern Authentication:Connect-ExchangeOnline -UserPrincipalName admin1@winitpro.onmicrosoft.com
Текущие разрешения для календаря пользователя можно получить с помощью команды:
Get-MailboxFolderPermission -Identity kbuldogov:Calendar
Название папки календаря может отличаться в зависимости от региональных настроек почтового ящика. Т.е. для русской версии почтового ящика замените аргумент команды на kbuldogov:NCalendar .
В столбце User содержатся пользователи, а в столбце AccessRights — права доступа. Exchange имеет набор предопределенных ролей, которые используются для доступа к каталогу и календарю (в порядке возрастания прав):
- Нет
- ДоступностьОбъявление
- Провайдер
- Рецензент
- NonEditingAuthor
- Автор
- ИздательАвтор
- Редактор
- PublisherEditor
- Владелец
Чтобы предоставить другому пользователю доступ к почтовому ящику, используйте команду Add-MailboxFolderPermission. Например, чтобы предоставить NestorV разрешение на редактирование календаря Boss1, выполните команду:
Add-MailboxFolderPermission -Identity boss1:200 -User NestorV -AccessRights Editor
Если вам нужен доступ только для просмотра календаря:
Add-MailboxFolderPermission -Identity boss1:200 -User NestorV -AccessRights Reviewer
Чтобы удалить разрешения для календаря:
Вы можете экспортировать в CSV-файл текущие разрешения календаря всех почтовых ящиков в арендаторе Azure (организация Exchange):
$Mailboxes = Get-Mailboxes -ResultSize Unlimited | Select-Object UserPrincipalNameforeach ($mailbox в $Mailboxes) {Get-MailboxFolderPermission -Identity «$($mailbox.UserPrincipalName):³»Select-Object @{Name=»UrerPrincipalName»;E={$mailbox.UserPrincipalName}},FolderName,User,AccessRights |.Export-Csv C:nExchange_Calendar.csv -NoTypeInformation -Append}
Полученный CSV-файл с почтовыми ящиками UPN и правами календаря можно дополнительно проанализировать в Excel.
Следующий сценарий PowerShell позволит определенному пользователю просматривать все календари в организации:
Foreach ($Mailbox в (Get-Mailbox -ResultSize Unlimited)) { Add-MailboxFolderPermission -identity «$($Mailbox.Name):} -AccessRights Owner -User NestorV }
Что такое общий почтовый ящик в Office 365?
Каждый человек, которому назначен общий почтовый ящик Office 365, имеет полный доступ ко всем сообщениям в нем. Пользователи-участники могут читать входящие электронные письма, отвечать на сообщения, пересылать сообщения и видеть, как другие ответили.
Когда член группы отвечает на сообщение электронной почты из общего почтового ящика, электронное письмо отправляется с общего адреса, а не с индивидуального адреса электронной почты, поэтому информация каждого остается конфиденциальной. Тем не менее, общие почтовые ящики обычно не имеют имен пользователей или паролей, что может создать некоторые проблемы с безопасностью.
Сохранение отправленных в общем почтовом ящике с помощью PowerShell
Письма при отправке ОТ Shared mailbox почта сохраняется в почтовом ящике пользователя , при отсутвии команды письма в общих ящиках отправленные сохранятся не будут.
Рассмотрим права уровня ящика подробнее
- Право Send As — разрешает отправлять письма с этого ящика;
- Send on Behalf – право на отправку от имени ящика, когда в поле From виден настоящий отправитель письма;
- Full Access — полные права на доступ ко всем элементам ящика (кроме прав на отправку от имени ящика).
Включить копирование элементов, отправленных как
Включить отправку копий элементов от имени
Сохранение отправленных как и от имени в одной команде , оптимальный выбор
Чтобы включить на всех общих ящика в организации Exchange
Подключение к модулю Microsoft Azure Active Directory для Windows PowerShell
Примечание
Имена командлетов в модуле Microsoft Azure Active Directory для Windows PowerShell содержат Msol.
В PowerShell версии 7 и более поздних версиях не поддерживается модуль Microsoft Azure Active Directory для Windows PowerShell и командлеты, имена которых содержат Msol. Для PowerShell версии 7 и более поздних версий требуется использовать модуль Azure Active Directory PowerShell для Graph или Azure PowerShell.
В PowerShell Core не поддерживается модуль Microsoft Azure Active Directory для Windows PowerShell и командлеты, имена которых содержат Msol. Эти командлеты требуется запускать из Windows PowerShell.
Шаг 1. Установите необходимое программное обеспечение.
Перечисленные действия необходимо выполнить на компьютере только один раз. При этом, вероятно, потребуется регулярно обновлять программное обеспечение.
-
Если вы не используете операционную систему Windows 10, установите 32-разрядную версию помощника по входу в Microsoft Online Services. См. статью Помощник по входу в Microsoft Online Services для ИТ-специалистов, RTW.
-
Чтобы установить модуль Microsoft Azure Active Directory для Windows PowerShell, выполните следующие действия:
- Откройте командную строку Windows PowerShell с повышенными привилегиями (запустите Windows PowerShell от имени администратора).
- Выполните команду Install-Module MSOnline.
- Если будет предложено установить поставщик NuGet, введите Y и нажмите клавишу ВВОД.
- Если будет предложено установить модуль из PSGallery, введите Y и нажмите клавишу ВВОД.
Шаг 2. Установите подключение к Azure AD для вашей подписки Microsoft 365.
Чтобы установить подключение к Azure AD для вашей подписки Microsoft 365 с учетной записью и паролем или с многофакторной проверкой подлинности, выполните одну из следующих команд в командной строке Windows PowerShell (повышенные права не требуются).
Облачная служба Office 365 | Команда |
---|---|
Office 365 Worldwide (+GCC) | |
Office 365, предоставляемый 21 Vianet | |
Office 365 Germany | |
Office 365 для DoD государственных организаций США и Office 365 для GCC High государственных организаций США | |
В диалоговом окне Вход в учетную запись введите имя пользователя и пароль своей рабочей или учебной учетной записи Microsoft 365 и нажмите кнопку ОК.
Если используется многофакторная проверка подлинности, следуйте инструкциям в дополнительных диалоговых окнах, чтобы предоставить дополнительные сведения для проверки подлинности, например код проверки.
Как узнать, что все прошло успешно?
Если нет сообщений об ошибках, подключение успешно установлено. Для проверки запустите любой командлет Microsoft 365, например Get-MsolUser, и проверьте результаты.
Если появится сообщение об ошибке, проверьте следующее:
-
Распространенная проблема неправильный пароль. Еще раз выполните . Будьте особенно внимательны при вводе имени пользователя и пароля.
-
Для работы модуля Microsoft Azure Active Directory для Windows PowerShell необходимо, чтобы на вашем компьютере был включен компонент Microsoft .NET Framework 3.5. x. Скорее всего, на вашем компьютере установлена более новая версия этого компонента (например, 4 или 4.5.* x*). При этом можно включить или отключить режим обратной совместимости с более ранними версиями .NET Framework. Дополнительные сведения см. в следующих статьях:
-
Windows Server 2012 или Windows Server 2012 R2: см. статью Включение .NET Framework 3.5 с помощью мастера добавления ролей и функций.
-
Windows 7 или Windows Server 2008 R2: см. статью Не удается открыть модуль Azure Active Directory для Windows PowerShell.
-
Windows 10, Windows 8.1 и Windows 8: см. статью Установка .NET Framework 3.5 в Windows 10, Windows 8.1 и Windows 8.
-
-
Возможно, ваша версия модуля Microsoft Azure Active Directory для Windows PowerShell устарела. Чтобы проверить, выполните следующую команду в PowerShell для Microsoft 365 или в модуле Microsoft Azure Active Directory для Windows PowerShell:
Если возвращенный номер версии меньше 1.0.8070.2, удалите модуль Microsoft Azure Active Directory для Windows PowerShell и выполните установку с , описанного выше.
-
Если появится сообщение об ошибке подключение, см. статью Ошибка «Connect-MsolService: исключение типа».
-
Если появляется сообщение об ошибке «Get-Item: не удается найти путь», выполните следующую команду:
Как настроить общий почтовый ящик в Office 365
Вы можете создать столько общих почтовых ящиков, сколько вам нужно, но у каждого пользователя, назначенного вами почтовому ящику, должна быть подписка на Office 365. Чтобы настроить общий почтовый ящик, выполните следующие действия:
-
Центр администрирования Microsoft 365 ранее был известен как центр администрирования Office 365.
-
В области навигации выберите Группы > Общие почтовые ящики .
-
На странице Общий почтовый ящик» выберите « Добавить почтовый ящик» .
-
На странице Добавить почтовый ящик в поле Имя введите имя для общего почтового ящика.
Псевдоним почтового ящика автоматически создается в поле « Электронная почта» , но вы можете изменить псевдоним, если хотите. Когда вы назвали общий почтовый ящик, выберите Добавить .
-
В разделе « Следующие шаги» выберите « Добавить участников в этот почтовый ящик» .
-
На странице Добавить участников общего почтового ящика выберите Добавить участников .
-
В разделе Участники установите флажок рядом с именем каждого человека, который будет иметь доступ к общему почтовому ящику. Если вы не видите имени человека в списке, выберите « Поиск» , а затем введите имя человека. Когда вы закончите, выберите Сохранить , а затем нажмите Закрыть .
Дефрагментация
Необходима для освобождения пространства, занимаемого файлом базы. Это связано с тем, что при удалении элементов, сама база не уменьшается.
Посмотреть, какое количество пространства удастся высвободить можно командой:
Get-MailboxDatabase -Status | ft Name, DatabaseSize, AvailableNewMailboxSpace
Пример ответа:
Name DatabaseSize AvailableNewMailboxSpace
—- ———— ————————
Base1 686.4 GB 286.4 MB
Base2 170 GB 69.42 GB
* где DatabaseSize — текущий размер базы; AvailableNewMailboxSpace — пространство, которое можно освободить при дефрагментации.
Саму оптимизацию можно выполнить двумя способами:
- Офлайн дефрагментация.
- Создание новой базы с последующим переносом в нее всех элементов; после, базу можно отключить и или удалить. Это более надежный вариант, так как не приведет к большому простою и позволит выполнить работу постепенно.
В текущем подразделе мы рассмотрим первый способ.
Офлайн дефрагментация приведет к отключению почтовой базы и, как следствие, приостановку работы почтовых ящиков, которые в нем содержатся.
Если используется база на основе группы DAG, сначала необходимо .
Операция дефрагментации выполняется из Exchange Management Shell с применением утилиты eseutil.
Сначала переходим в каталог хранения базы данных, например:
cd C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Base1
Выполняем команду для отмонтирования базы:
Dismount-Database Base1
* напомним, что это приведет к отключению базы и приостановки обслуживания.
Запускаем дефрагментацию:
eseutil /d Base1.edb /t \\share\base1_tmp.edb
* где опция d — имя файла базы; t — путь до временного файла на момент дефрагментации, если его не указать, временный файл будет создан в каталоге с основным файлом и, в таком случае, нужно убедиться, что на диске достаточно свободного места (110% от размер дефрагментируемого файла).
После завершения операции, снова подключаем базу:
Mount-Database Base1
Переиндексация базы (восстановление поиска или репликации)
Данную процедуру необходимо выполнять, если наблюдаются проблемы с поиском в почте или репликации DAG-копии. Выполняется в Exchange Management Shell.
Одна копия базы
Переходим в каталог Exchange:
cd «\program files\microsoft\exchange server\v14\scripts»
Запускаем переиндексацию:
.\ResetSearchIndex.ps1 BASE1
При использовании DAG
Смотрим, у какой копии базы произошел сбой индекса:
Get-MailboxDatabaseCopyStatus -Identity DAG01 | Format-List Name, ContentIndexState
Пример ответа:
Name : DAG01\Server1
ContentIndexState : Failed
Name : DAG01\Server2
ContentIndexState : Healthy
Активируем копию базы на сервере с исправным индексом:
Запускаем копирование каталога с исправного сервера:
Делаем активной копию базы на старом сервере:
Задача 3: перейти на отечественные сервисы
Перенести почту и файлы в Communigate Pro. Если возможности или желания оставаться на продуктах Microsoft нет, то можно сразу перенести почту и документы на отечественную платформу Communigate Pro. Особенно это касается компаний из санкционного списка.
Мы можем развернуть Communigate Pro в наших облаках на территории РФ.
Предложенные способы подходят не только для Office 365, но и для других зарубежных публичных сервисов: DropBox, Google Drive и Gmail for Business.
Больше о миграции с зарубежных сервисов расскажу на бесплатном вебинаре 31 марта в 11:00. Ссылку на регистрацию найдете на нашем сайте.
Как выгрузить список почтовых ящиков в Exchange Server
Хочу отметить, что данные команды будут работать как на Microsoft Exchane Server 2010, так и на 2013-16. И так, первая задача, узнать какие активные почтовые ящики есть на нашем Exchange Server, для выполнения нашей задачей мы воспользуется командлетом powershell . Открываем Exchange Management Shell (EMS), она находится в меню «Пуск»
Кстати Exchange Management Shell (EMS) имеет, только в 2010 SP1 почтовом сервере, свыше 500-та командлетов, так, что работать в ней можно очень серьезно.
Пишем вот такую команду:
На выходе вы получаете список ящиков, учьтите, что время получения результата, прямо завит от количества почт на сервере Exchane, поэтому консоль powershell может подвисать. У меня получился вот такой вывод, содержащий адреса электронных почтовых ящиков Exchange, вы сразу у себя заметите, что вывод команды отдается все не по алфавиту, что не всегда удобно для анализа.
Чтобы выгрузка списка почтовых адресов была по алфавиту, то вам нужно слегка видоизменить вашу команду:
В итоге я уже получил список почтовых ящиков в базе Exchange, отформатированный по алфавиту, что позволяет более упрощенно производить поиск п/я.
Но результаты выгрузки списка почтовых ящиков могут быть длинными и не умещаться на экране вывода powershell, для этого удобно все это дело будет выгрузить в текстовый файл, по которому легко будет и производить поиск и фильтровать. Для этого в есть командлет .
Обратите внимание, что по умолчанию выводится только 1000 ящиков, если нужно больше, то придется ввести параметр -ResultSize Unlimited
Теперь давайте мы узнаем информацию, сколько у нас адресов почтовых ящиков в базе почтового сервера, для этого выполните:
У меня на одном из серверов их оказалось 2159 штук.
Еще бывают задачи от руководства или сотрудников, это посчитать и получить список почтовых ящиков на определенном домене, если кто-то не в курсе, то Microsoft Exchange Server позволят обслуживать огромное количество доменов, это нормальная практика. В итоге мы воспользуемся вот такой конструкцией.
Если вы хотите получить названия почтовых адресов в организации, чаще всего это ФИО и дату их создания, то выполните такую команду:
Get-Mailbox | Select-Object Name,WhenCreated | Out-File C:\scripts\all_name.txt
Как видите я получил точную дату, когда были созданы почты в организации и кому в плане ФИО, они принадлежат.
Чтобы выгрузить список пользователей, которые не заходили в почтовый ящик более, чем 30 дней с выгрузкой в файл, то выполните
Get-Mailbox -resultsize unlimited | Get-MailboxStatistics |?{$_.LastLogonTime -lt (date).adddays(-30)} | ft DisplayName,ItemCount,LastLogonTimeLast,LogoffTime,LastLoggedOnUserAccount -auto | Out-File C:\scripts\OLD_mailbox.txt
Это позволит вам выявить пользователей, кто за зря занимает место в базе данных Exchange сервера. Еще могут быть ситуации, когда вам нужно выяснить какие почтовые адреса были созданы вашей почтовой системе, например, за последние 20 дней, для этого выполните:
Get-Mailbox | Where-Object {$_.WhenCreated –ge ((Get-Date).Adddays(-20))} | ft name, servername | Out-File C:\scripts\NEW_mailbox.txt
Обратите внимание, что в выводе ft, вы можете задавать много параметров, например, база данных database. Можно даже узнать, за конкретный месяц, так, например, получите список почтовых ящиков за сентябрь. Get-Mailbox | Where-Object {($_.WhenCreated).Month –eq 9} | ft name, servername, database
Get-Mailbox | Where-Object {($_.WhenCreated).Month –eq 9} | ft name, servername, database
Ну и за весь год, на момент написания статьи это 2018 год.
Get-Mailbox | Where-Object {($_.WhenCreated).Year –eq 2018} | ft name, servername
Напоминаю, чтобы посчитать количество, вам нужно воспользоваться Measure-Object
Get-Mailbox | Where-Object {($_.WhenCreated).Year –eq 2018} | Measure-Object
Настройка
Теперь можно разобраться, как выбрать тип аккаунта Exchange (POP3, IMAP 4). Оба протокола подключены к Client Access. В версии 2003 — к IIS. За них отвечают отдельные службы.
Найдите одну из них в списке консоли.
- Откройте её свойства.
- В пункте «Вариант запуска» выберите «Автоматически».
- Нажмите «Запустить».
- Перейдите в Локальный — Настройка серверов — Клиентский доступ.
- В списке «Имя протокола» будет «POP3» и «IMAP 4». Откройте свойства одного из них.
- Можете указать номера портов, по которым программа сможет подключить домен.
- На вкладке «Проверка подлинности» расставьте параметры безопасности. Они зависят от параметров, которые можно установить на компьютере пользователя.
В новых версиях Microsoft server (от 2013 и выше) настройки расставляются через ECP (Центр администрирования).
Эти протоколы могут принимать электронную корреспонденцию. Разница между ними:
- В IMAP 4 электронные письма находятся на сервере. Для доступа к ним нужен интернет.
- POP3 сохраняет сообщения на стороне получателя (компьютере, мобильном устройстве), но при этом удаляет их с домена. Если вы один раз загрузите их на ПК, они исчезнут из домена. Этот протокол имеет свои преимущества. Но пользователи обычно предпочитают IMAP.