Гостевая учетная запись конфликтует с Exchange Online
Гостевые учетные записи не получают уведомления по электронной почте
По правде говоря, этот блог можно было назвать как угодно. Вероятно, дилемма с гостевой учетной записью, но я использовал такое название несколько раз, тем не менее — это дилемма. Это блог, который я хотел написать целую вечность, потому что он кусал нас так много раз. Мы уверены, что Microsoft со временем придумает исправление для этого, как обычно они это делают, но это уже давно существует.
Если вы столкнулись с ситуацией, когда вы добавили гостя в команду или ресурс SharePoint, а получатель не получил приглашение, или вы создаете события календаря непосредственно в Teams, приглашая канал группы, и снова получатели не получаете приглашения, возможно, вы столкнулись с проблемой, о которой я расскажу ниже.
Я не буду вдаваться в подробности о различных типах гостевых учетных записей и о том, как совместное использование и совместная работа работают в Office 365, а подробнее об этой конкретной проблеме.
Вот краткое описание типов гостевых учетных записей, которые вы увидите.
- Внешний Azure Active Directory : этот пользователь находится во внешней организации и проходит проверку подлинности с помощью учетной записи Azure AD, принадлежащей другой организации.
- Учетная запись Майкрософт : Этот пользователь размещен в учетной записи Майкрософт и проходит проверку подлинности с помощью учетной записи Майкрософт.
- OTP : функция одноразового кода доступа по электронной почте аутентифицирует гостевых пользователей B2B, когда они не могут пройти аутентификацию с помощью других средств, таких как Azure AD, учетная запись Microsoft (MSA) или федерация Google.
- I Приглашенный пользователь : Этот пользователь был приглашен, но еще не активировал приглашение
- Несколько : Иногда вы также можете увидеть Несколько (Возможно, вы захотите их очистить)
Приглашенные пользователь представляет интерес, потому что иногда Гость просто не получает приглашение
Создание гостевых учетных записей
Когда вы создаете гостевую учетную запись в Azure Active Directory или приглашаете нового гостя в группу (что, в свою очередь, создает гостевую учетная запись в Azure Active Directory) объект вскоре после этого синхронизируется с Exchange Online как MailUser. Это важно, потому что в конечном итоге именно Exchange Online отвечает за отправку уведомлений гостевой учетной записи.
Обратите внимание, что MailUser скрыт от глобального списка адресов по умолчанию. (подробнее об этом позже)
Итак, при прочих равных условиях у вас теперь есть гостевая учетная запись в Azure AD и MailUser Exchange Online, и все работает как по маслу.
Однако для некоторых пользователей уведомления не приходят. Это связано с тем, что почти наверняка уже существовал другой объект , представляющий адрес электронной почты этого пользователя в Exchange Online. Это может быть почтовый контакт или почтовый пользователь/почтовый ящик с переадресацией на внешний адрес электронной почты.
Суть в том, что у вас не может быть гостевой учетной записи и получателя в Exchange Online, которые используют один и тот же ExternalEmailAddress. Ну почти… есть выдумки и обходные пути.
Сценарии
1. Партнерские организации
Вы создали контакты для пользователей, с которыми сотрудничаете по электронной почте, а затем добавили их в группу в качестве гостей.
2. Не нужны почтовые службы Office 365
У нас есть клиент с распределенной моделью слабо связанных организаций, поддерживающих собственную ИТ-инфраструктуру. Многие просто используют учетные записи Hotmail, Gmail или других почтовых служб и не нуждаются (или в некоторых случаях хотят) использовать почтовые ящики Office 365. Однако всем им необходимо сотрудничать в центральной среде Teams и SharePoint. С этой целью они хотят, чтобы их пользователи использовали рабочие нагрузки Teams и SharePoint в качестве гостей, но при этом адрес электронной почты родительской организации перенаправлялся на их личную электронную почту.
3. Отделение
Допустим, несколько пользователей отделились, чтобы создать собственную компанию, но будут поддерживать тесные отношения, возможно, они являются дочерней компанией, и поэтому они не будут брать свое доменное имя. Мы перемещаем почтовые ящики, преобразовываем устаревшие почтовые ящики в пользователей с включенной поддержкой почты, устанавливаем адрес пересылки на контактный или внешний адрес электронной почты и скрываем их из глобального списка адресов, чтобы они могли поддерживать входящую электронную почту в устаревшем домене, а устаревшие пользователи могли видеть их в глобальный список адресов в качестве почтового контакта и получить для них информацию о занятости, если включен общий доступ к организации.
Почему бы просто не создать только контакт? В облачном мире вы не можете добавить proxyAddress к почтовому контакту с тем же значением, что и у одного из ваших обслуживаемых доменов, если только он не синхронизируется из локального AD через AAD Connect
Таким образом, это единственный способ для них поддерживать устаревшее значение домена изначально является либо пользователем с поддержкой почты, либо почтовым ящиком с пересылкой. Вы не будете использовать почтовый ящик, потому что это будет стоить вам лицензии, но вы можете использовать общий почтовый ящик — подробнее об этом позже.
Вы также можете использовать группу рассылки и ее адрес электронной почты в качестве прокси-адреса и сделать одного члена контактным лицом для целевого арендатора.
Проблема
В любом из этих случаев в Exchange Online есть объект, содержащий внешний адрес электронной почты получателя.
Get-MailUser "Джон Доу" | FL DisplayName, PrimarySMTPAddress, ExternalEmailAddress DisplayName : Джон Доу PrimarySmtpAddress: john. [email protected] Внешний адрес электронной почты: SMTP: [email protected]
ОШИБКА
Даже если у вас есть почтовый контакт вместо пользователя с поддержкой почты, вы не сможете:
НО, если я добавлю этого пользователя в Microsoft Teams, это сработает.
Это не сбой — любая ошибка, подобная вышеприведенной, конечно же, неизбежно приведет к массовому замешательству пользователей.
Итак, теперь у нас есть Гость и Почтовый контакт в Exchange Online.
Все хорошо, верно? Не совсем.
Так что теперь?
ProxyAddresses
Если вы посмотрите на свой объект AzureADUser, вы увидите, что Атрибут ProxyAddresses пуст.
Get-AzureADUser -SearchString john.doe | FL DisplayName, *mail*, proxy*, UserPrincipalName
DisplayName : john.doe
Mail : [email protected]
MailNickName : john.doe_contoso.com#EXT#
OtherMails : {[email protected] }
ProxyAddresses : {}
UserPrincipalName : john. doe_contoso.com#EXT#@neroblancoit.onmicrosoft.com
И именно пустой proxyAddress вызывает проблемы в будущем. Этот пользователь никогда не будет получать уведомления.
Решение, короче говоря, у вас не может быть гостевой учетной записи и любого другого получателя Exchange Online. Вам необходимо создать гостевую учетную запись и отобразить ее в глобальном списке адресов. Вы должны сделать это в двух местах.
SET-AZUREADUSER -OBJECTID 66C30596-8D0C-48DF-AAC3-B9E3C5C4968E -SHOWINADDRESSLILLEST: $ TRUE
и в обмен онлайн
SET-Mailuser [email protected]#ext# -HiddenfromAddresslistser [email protected]#ext# -hiddendromaddromaddraslistser [email protected]#ext# -hiddendromaddromaddraslistser: $ [email protected]. Почему дважды? Вторая команда может вернуть, что параметры не изменились, если атрибут AzureAD был передан. Раньше я видел, что он не течет, но в последнее время он, кажется, делает свою работу.9002 -ABD7-FD08661E2B4A 4-ABD7-FD08661E2B4A . 4281-45a0-a23e-b42d1b5ba5bc | FL DisplayName, *mail*, proxy*, userp*, *date*Учетную запись гостя теперь можно добавить в Teams, SharePoint, группы рассылки (через PowerShell) и группы Azure AD. Плюс он появится в GAL.
Другие возможные обходные пути
На самом деле вы можете сделать две вещи
- Создать гостя и контакт одновременно.
Если вы правильно рассчитали время, вы можете создать гостевую учетную запись до контакта, но вы должны быть быстрыми. Сначала создайте гостевую учетную запись, а затем сразу же создайте контакт, но вам придется поспешить с часами Azure Sync…
Я создал гостевую учетную запись
Get-AzureADUser -ObjectId 66c30596-8d0c-48df-aac3-b9e3c5c4968e | FL DisplayName, *mail* , proxy*, userP*, UserTypeDisplayName : John Doe
Mail : [email protected]
MailNickName : john.doe_contoso.com#EXT#
OtherMails : {john.doe@contoso .com}
ProxyAddresses: {SMTP:[email protected]}
UserPrincipalName: john.doe_contoso.com#EXT#@neroblancoit.onmicrosoft.com
Тип пользователя: GuestВот мой почтовый контакт
Get-MailContact john. doe | FL DisplayName, PrimarySMTPAddress, ExternalEmailAddressDisplayName: John Doe PrimarySmtpAddress: [email protected] ExternalEmailAddress : SMTP:[email protected], но… если вы не победите жнеца, вы получите это:
Общий почтовый ящик
Создайте общий почтовый ящик, используйте атрибут ForwardingSMTPAddress, затем создайте гостевую учетную запись
Вот мой общий почтовый ящик
Get-Mailbox john.doe | FL DisplayName, PrimarySMTPAddress, ForwardingSMTPAddress, RecipientTypeDetails, HiddenFromAddressListsEnabled, *created*DisplayName: John Doe (SMBX)
PrimarySmtpAddress: [email protected]
TypewardingSmtpAddress: Recipient: 0tails.com90contoconto SharedMailbox
HiddenFromAddressListsEnabled : True
WhenMailboxCreated : 15/05/2020 19:54:39
WhenCreated : 15/05/2020 19:54:41
WhenCreatedUTC : 15/05/2020 07:54:41Вы заметите, что нет такого атрибута для ExternalEmailAddress для почтового ящика
Get-Mailbox john. doe | FL DisplayName, Внешний*DisplayName: John Doe (SMBX)9 0001 -ABD7-FD08661E2B4A
ExternalOoopoptions: ExternaldAldirectoryObjectId: 8D735D04-445E-491E-ABD7-FD08661E2B4A
DisplayName : John Doe (гость)
Mail: [email protected]
MailNickName: john.doe_contoso.com#EXT#
OtherMails: {[email protected]}
ProxyAddresses: {SMTP:[email protected]}
UserPrincipalName: john.doe_contoso.com#EXT#@neroblancoit.onmicrosoft.com
RefreshTokensValidFromDateTime : 15/05/2020 08:01:13
Однако, используя этот метод, я не вижу гостевую учетную запись, синхронизированную с Exchange Online в качестве MailUser ни какой-либо ошибки подготовки.
Итак, в заключение, весь гостевой опыт и приложение от Microsoft не очень хороши, но как только вы узнаете, что происходит, вы сможете разблокировать его. Что становится болезненным, так это когда вам нужно начать удалять и повторно создавать пользователей, потому что вы должны отметить любые группы и команды и доступ к SharePoint, которые у них были ранее, и после того, как вы все это соедините, вам нужно добавить их обратно.
Привлекайте посторонних в рабочее пространство вашей команды с помощью гостевого доступа и общих каналов
Slack улучшает способы общения компаний внутри своих стен, но когда дело доходит до работы с внешними партнерами, мы часто прибегаем к другим методам, таким как телефонные звонки и электронные письма. Это означает, что нужно управлять большим количеством почтовых ящиков, разговорами, которые нельзя найти или поделиться в Slack, и барьерами для быстрого выполнения работы.
К счастью, есть способы, которыми любая компания, использующая Slack, может работать с фрилансерами, агентствами и сторонними фирмами, чтобы не только сокращать расстояния, но и общаться в режиме реального времени и быстрее выполнять проекты. Вот пример того, как предоставить гостевой доступ к Slack через одно- и многоканальные учетные записи и общие каналы.
Приглашение отдельных гостей на определенные каналы проекта
Для каждого платного плана Slack администраторы могут бесплатно добавить до пяти гостей с одним каналом для каждого члена своей существующей команды. Если вы создаете каналы для каждого проекта в своей фирме, используйте функцию гостя с одним каналом, чтобы допускать специализированных внешних специалистов, таких как подрядчики, стажеры и клиенты.
Гостевой доступ Slack ограничен только одним каналом, поэтому вам не нужно беспокоиться о том, что они увидят подробности из других частей вашей организации. Они могут свободно прокручивать канал вверх и просматривать всю историю проекта до того, как были добавлены. Вы даже можете добавить ограничение по времени для их учетных записей, если это необходимо для краткосрочного проекта.
Общие варианты использования одноканального гостевого доступа Slack включают:
- Приглашение бухгалтера в канал
#finance
для обмена квартальными отчетами о продажах - Добавление ИТ-подрядчиков в канал
#help-tech
, где они могут решать технические проблемы сотрудников - Облачные службы приглашают клиента в частный канал вместе с менеджером по работе с клиентами и персоналом технической поддержки для оказания поддержки клиентам
- Приглашение фотографов, видеографов, аниматоров и иллюстраторов в каналы проекта, где они могут получать обратную связь в режиме реального времени
Когда вашим наиболее продуктивным внешним участникам необходимо участвовать в дополнительных каналах, вы можете добавить их в свою рабочую область в качестве многоканального гостя .
Как и гости одного канала, они смогут получить доступ только к тем каналам, на которые их пригласили; однако многоканальные гости оплачиваются как полноправные пользователи.Связывайте компании напрямую, используя общие каналы
Предположим, ваша команда только что наняла креативное агентство для создания серии телевизионных рекламных роликов. Вы можете создать канал для проекта видеорекламы и привлечь нескольких человек в качестве гостей одного канала (или наоборот, если они также используют Slack). Но теперь есть лучший вариант для платных команд Slack: общие каналы.
Клиент и поставщик работают в общем частном канале
С помощью общих каналов две организации могут сотрудничать в режиме реального времени через один канал проекта, доступный из каждой соответствующей рабочей области. Затем каждая сторона может добавлять или удалять специалистов по мере необходимости для выполнения своей работы.
Продолжая наш пример с креативным агентством, общий канал позволяет писателям и дизайнерам загружать свои сценарии и раскадровки, руководителям отдела маркетинга одобрять предварительные правки, а менеджерам проектов обеих компаний следить за каналом, пока производители видео загружают окончательный вариант.