www.SAMURAJ-cz.com 

24.04.2024 Jiří Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Exchange Hybrid - schránky a jejich umístění, příjemci, atributy a opravy chyb

Čtvrtek, 29.10.2020 07:45 | Samuraj - Petr Bouška |
Článek popisuje některé důležité principy fungování hybridní konfigurace Exchange. Jaké atributy se musí synchronizovat do Azure AD pro korektní funkčnost. Jak se řeší schránky v On-Premises organizaci versus v Exchange Online a jak můžeme zjistit, kde má určitý uživatel schránku. Jak se správně schránka vytváří a přesouvá. Popisuje všechny situace, které mohou v praxi vzniknout, z pohledu umístění schránky pro jednoho uživatele. Věnuje se opravě nefunkčních variant. Nejvíce je rozebírána situace, kdy má jeden uživatel schránku na interním serveru a zároveň schránku v cloudu (jedna z nich je v podstatě nefunkční). Řada věcí se musí provádět pomocí PowerShellu.

Azure AD Connect a atributy pro Hybrid Exchange

To, že nastavíme pomocí průvodce Exchange Hybrid, nám nijak neřeší uživatele a jejich schránky. Nastaví se pouze směrování a komunikace. Podmínkou pro hybridní nasazení je Active Directory Synchronization. Ale Azure AD Connect musí být správně nastavený. Když průvodce spustíme poprvé, tak si zjistí údaje z naší domény a podle toho nastaví pravidla synchronizace, tedy jaké atributy se mají synchronizovat.

ExchangeGUID

V labu jsem nainstaloval Exchange až po zprovoznění Azure AD Connect. Takže se žádné Exchange atributy nedostávaly do Azure AD. Když se uživateli přiřadila licence na Exchange Online, tak se mu v cloudu vytvořila schránka, i když ji již měl na On-Premises serveru. To, že uživatel má schránku v On-Premises organizaci, a tudíž se nemá vytvářet nová v online organizaci, se zjišťuje podle vlastnosti ExchangeGUID (atribut msExchMailboxGuid). Ta se musí s uživatelem synchronizovat do Azure AD.

Pokud se nesynchronizují Exchange atributy

Pokud dojde ke změnám schématu AD DS, například instalace Exchange serveru (nebo některého Cumulative Update, který upravuje schéma), tak je potřeba spustit Azure AD Connect task Refresh directory schema. Pak se doplní synchronizace Exchange atributů do Azure AD. Pravděpodobně je řešeno pravidlem In from AD - User Exchange.

Azure AD Connect - Refresh directory schema

Aby fungovaly schránky v obou organizacích, tak potřebujeme také nějaké atributy synchronizovat zpět z Azure AD do On-Premises adresáře. Pro nastavení spustíme Azure AD Connect task Customize synchronization options a povolíme volitelnou vlastnost Exchange hybrid deployment. Seznam atributů Azure AD Connect sync: Attributes synchronized to Azure Active Directory.

Jednoduchá kontrola

Ještě před nastavením Exchange Hybrid můžeme jednoduše zkontrolovat, zda se nám replikují Exchange atributy do Azure AD. Když se podíváme na Exchange Online, tak by měli všichni interní uživatelé s poštovní schránkou vzniknout jako kontakt. V Exchange Admin Center (EAC) je vidíme pod Recipients - Contacts.

Uživatelé a typ příjemce (Recipient Type)

Objekty (uživatelé a zdroje), které posílají a přijímají poštu, se v Exchange organizaci označují jako příjemci (recipients). Mají emailovou adresu a další poštovní atributy (mail-enabled object) v Active Directory. Exchange obsahuje mnoho typů příjemců, které identifikuje podle vlastnosti RecipientTypeDetails (atribut msExchRecipientTypeDetails).  Používá také obecnější typy ve vlastnosti RecipientType (atribut msExchRecipientDisplayType). Při synchronizaci do Exchange Online se používá další vlastnost RemoteRecipientType (atribut msExchRemoteRecipientType).

Více informací v Exchange recipient types, Recipient Type Values, seznam parametrů RecipientTypeDetails Get-User.

Exchange PowerShell obsahuje řadu příkazů, které vrací informace o uživatelích a schránkách. Pár informací a příkladů jsme si uvedli v první části článku PowerShell pro Azure AD, Exchange Online, práce s licencemi. Většina příkazů je určena pro určitý typ objektu.

Obecný příkaz pro informace o uživatelích, který neobsahuje vlastnosti ohledně schránky, ale ukazuje typ příjemce, je:

Get-User | FT Name, *RecipientType*

Nás v tuto chvíli zajímá typ příjemce:

  • UserMailbox - poštovní schránka přiřazená uživateli v naší (lokální) Exchange organizaci
  • MailUser - Mail-Enabled uživatel (má účet v naší organizaci, ale nemá zde schránku), který reprezentuje uživatele mimo naši organizaci (typicky v Exchange Online)
  • User - to vlastně není typ příjemce, ale uživatelský účet, který není mail-enabled, používá jej příkaz Get-User

Exchange PowerShell cmdlety pro objekty

Příkaz Get-User nám zobrazuje uživatele všech typů (Mail-Enabled i Non-Mail Enabled), ale neukazuje zdroje (objekty). Pro zobrazení všech příjemců (Mail-Enabled objekty, jako uživatelé, skupiny, kontakty) můžeme použít Get-Recipient. Pro detailní informace máme příkazy podle typu příjemce, jako Get-Mailbox, Get-MailUser, Get-Contact, Get-MailContact, Get-DistributionGroup, apod.

Speciální příkaz je Get-RemoteMailbox, který zobrazuje informace o lokálních účtech, které mají schránku v cloudu (MailUser). Zobrazuje pouze informace o schránce, které se nalézají v lokálním AD. Pro více (a přesnější) informací je potřeba dotaz do Exchange Online.

Další příkaz, který zobrazí určité informace o umístění schránky, je níže. Podle dokumentace je pouze pro Exchange Online, ale funguje mi i na Exchange Server 2016, ale pouze pro zde umístěné schránky.

Get-MailboxLocation -Identity bouska@firma.cz

Identifikace, kde se nachází schránka

Ověřit, zda má uživatel schránku na On-Premises Exchange nebo v Exchange Online, není vždy jednoduché. Hlavně při problémech nebo (dle Microsoftu) nestandardních situacích (které mohou nastat dost často). Důležité je porovnat údaje v obou Exchange organizacích.

Pomocí Exchange Admin Center (EAC)

Můžeme použít Exchange Admin Center (EAC). Když se podíváme na lokální Exchange (Enterprise), tak u schránek vidíme sloupec Mailbox Type, kde je User pro lokální schránku nebo Office 365 pro cloudovou. Zdálo by se, že bychom zde měli vidět všechny uživatele se schránkou. Ale podle toho, jak byla vytvořena schránka v cloudu, zde některé neuvidíme (a s těmi bude problém).

On-Premises EAC - různé typy schránek

Když se přepneme na Exchange Online (Office 365), tak na záložce Mailboxes vidíme pouze uživatele se schránkou v cloudu, typ User. Ale můžeme vidět i takové, které jsme v On-Premises neviděli. Pokud se přepneme na Contacts, tak zde uvidíme synchronizované uživatele se schránkou na On-Premises Exchange, typ Mail user (v praxi zde uvidíme také řadu Guest mail user, hostovské účty).

Exchange Online EAC - různé typy schránek

Pomocí Exchange PowerShell (EMS)

Pomocí Exchange PowerShellu si můžeme obdobně vypsat uživatele, a třeba nějakým způsobem výpis omezit. Typ vidíme z pohledu organizace, v které dotaz spouštíme.

Pro lokální Exchange.

[PS] C:\>Get-User -RecipientTypeDetails User,UserMailbox,RemoteUserMailbox | FT Name, RecipientType*

Name              RecipientType RecipientTypeDetails
----              ------------- --------------------
Bouška Petr         UserMailbox          UserMailbox
Černý                  MailUser    RemoteUserMailbox
Petr Poslední              User                 User

A pro Exchange Online.

PS C:\> Get-User -RecipientTypeDetails User,UserMailbox,MailUser | FT Name, RecipientType*

Name                        RecipientType RecipientTypeDetails
----                        ------------- --------------------
Bouška Petr                 MailUser      MailUser  
Černý                       UserMailbox   UserMailbox         
Petr Poslední               UserMailbox   UserMailbox  

Výpis Mail-enabled objektů s ExchangeGUID pro lokální Exchange

[PS] C:\>Get-Recipient -RecipientTypeDetails UserMailbox,RemoteUserMailbox | FT Name, ExchangeGuid, RecipientType*

Name            ExchangeGuid                         RecipientType RecipientTypeDetails
----            ------------                         ------------- --------------------
Bouška Petr     bd27a862-cd7e-4071-986b-85815e5fbc6c   UserMailbox          UserMailbox
Černý           ceb0ee0d-35e0-4843-9875-4c0a9e588454      MailUser    RemoteUserMailbox

Výpis Mail-enabled objektů s ExchangeGUID pro Exchange Online

PS C:\> Get-Recipient -RecipientTypeDetails UserMailbox,MailUser | FT Name, ExchangeGuid, RecipientType*

Name            ExchangeGuid                         RecipientType RecipientTypeDetails
----            ------------                         ------------- --------------------
Bouška Petr     bd27a862-cd7e-4071-986b-85815e5fbc6c MailUser      MailUser            
Černý           ceb0ee0d-35e0-4843-9875-4c0a9e588454 UserMailbox   UserMailbox         
Petr Poslední   77b54d03-c6a1-416d-987b-d447681508d1 UserMailbox   UserMailbox         

V příkladu jsou tři uživatelé. Petr Bouška má schránku na On-Premises Exchange a korektní informace v Exchange Online. Naopak Černý má schránku v Exchange Online a korektní informace na On-Premises Exchange. Pak je tu Petr Poslední, který má schránku v Exchange Online, ale On-Premises organizace o tom neví (je zde jako uživatel, který není mail-enabled).

Různé varianty umístění schránek a možné problémy

V praxi můžeme narazit na různé varianty vytvoření a existence schránek pro jednoho uživatele. Hlavně, pokud nám existuje oddělené On-Premises a cloud prostředí, které spojujeme. Microsoft bere jako standardní situaci, kdy máme On-Premises prostředí a na zelené louce budujeme cloud (a podle nich ideálně tam vše přesuneme). V řadě nestandardních situací nám nebude správně fungovat doručování pošty, proto je musíme opravit.

Korektní a funkční situace

  • lokální uživatel se schránkou na Exchange serveru, účet synchronizován do Azure AD, přiřazena licence - lokální schránka (UserMailbox), v cloudu vznikne kontakt (MailUser)
    • pokud se provede přesun schránky do Online - v cloudu se změní na schránku (UserMailbox), lokálně na Office 365 schránku (RemoteUserMailbox)
  • lokálně vytvořený uživatel se schránkou v cloudu, účet synchronizován do Azure AD, přiřazena licence - lokálně vznikne Office 365 schránka (RemoteUserMailbox), v cloudu se vytvoří schránka (UserMailbox)

Špatné a nefunkční situace

  • lokální uživatel bez schránky, účet synchronizován do Azure AD, přiřazena licence - v cloudu se vytvoří schránka (UserMailbox), lokálně nic (zůstane User) - problém (nelze přesunout do On-Premises, nedoručuje se pošta z interních serverů)
    • lokálně není problém vytvořit schránku, pak vnikne stejný problém jako v dalším bodě
  • lokální uživatel se schránkou na Exchange serveru, cloudový uživatel se schránkou online, spojeni pomocí synchronizace - v Azure AD se uživatel spojí, ale schránka zůstane, takže vznikne jeden uživatel se dvěma schránkami - lokální schránka (UserMailbox), cloudová schránka (UserMailbox) - problém

Správné vytvoření schránky v Exchange Online

Nepovedlo se mi nalézt oficiální postup u Microsoftu. Pro takto důležitou operaci bych čekal informace v popisu Exchange Hybrid. Následující informace jsou z praxe. Související informace Recipients in Exchange Online.

Pokud vytvoříme uživateleOn-Premises AD a synchronizujeme jej do Azure AD, kde mu následně přiřadíme licenci. Tak vznikne schránka v cloudu, ale do lokálního AD se nedostanou Exchange atributy. Z pohledu lokálního Exchange jde o uživatele bez schránky. Takže se mu nepodaří doručit poštu ze schránek v On-Premises (a případně i z internetu, pokud přichází pošta přes lokální servery). Musíme tedy správně vytvořit uživatele v cloudu nebo pak problém napravit.

Pomocí Exchange Admin Center (EAC)

Pomocí Exchange Admin Center (EAC) můžeme vytvořit uživatele se schránkou v cloudu. Není zde možnost vytvořit schránku pro existujícího uživatele. Volba se nachází (pokud máme nastavený Exchange Hybrid) v Recipients - Mailboxes - ikona New (plus) a položka Office 365 mailbox.

On-Premises EAC - vytvoření uživatele se schránkou v cloudu

Pomocí Exchange PowerShell (EMS)

V Exchange Management Shell (EMS) máme dva cmdlety New-RemoteMailbox, Enable-RemoteMailbox. První vytvoří uživatele se schránkou v cloudu, stejně jako EAC. Druhý vytvoří online schránku existujícímu uživateli. Musíme zadávat RemoteRoutingAddress, která má doménu tvaru tenant.mail.onmicrosoft.com (tenant je název našeho Tenantu - organizace).

Enable-RemoteMailbox bouska -RemoteRoutingAddress bouska@firma.mail.onmicrosoft.com

Jak probíhá vytvoření schránky v cloudu

Zmíněné metody přímo nevytváří schránku na Exchange Online, ale nastaví se specifické atributy na účtu uživatele. Pak musí korektně proběhnout synchronizace pomocí Azure AD Connect. Teprve následně se vytvoří schránka v cloudu. Některé návody na internetu píší, že musíme nejprve přiřadit uživateli licenci, než se vytvoří schránka. Ale schránka se vytvoří i bez licence a je funkční na dobu 30 dní, do té doby musíme licenci přiřadit. Toto potvrzuje poznámka v Create user mailboxes in Exchange Online.

Na On-Premises Exchange se buď vytvoří nový Mail-Enabled uživatel (Mail User) nebo se změní typ existujícího uživatele. Nastaví se mu ExchangeGUID na 00000000-0000-0000-0000-000000000000. Schránce vytvořené v cloudu se vygeneruje ExchangeGUID, ale tato hodnota se nesynchronizuje zpět do On-Premises. To je problém, pokud bychom později chtěli schránku přesunout na On-Premises Exchange. Řešení je ručně nastavit ExchangeGUID lokálního uživatele.

Řešení problému dvou schránek pro jednoho uživatele

Pozn.: Operace v cloudu nějakou dobu trvají (minuty, výjimečně i hodiny), takže musíme vždy určitou dobu počkat (třeba přiřazení licence - vytvoření schránky či změna typu uživatele).

Pokud má uživatel schránku v obou organizacích (lokálně i online), tak je to samozřejmě problém. Jak s přístupem do schránky, tak s doručováním zpráv (v rámci Exchange Online se bude pošta doručovat do online schránky, v rámci On-Premises do lokální). V tomto případě má uživatel jiné ExchangeGUIDOn-Premises AD a jiné v Azure AD.

Ponechání schránky Exchange Online

Můžeme ponechat schránku v cloudu a smazat na On-Premises serveru, následně nastavit uživatele jako Remote Mailbox a případně obnovit data, která byla v lokální schránce, do cloudu. Oficiální popis How to recover when a mailbox exists in both Exchange Online and On-Premises, My user has a mailbox both On-Premises and in Exchange Online.

Ponechání schránky On-Premises Exchange

Druhá situace je, že chceme ponechat lokální schránku a zrušit tu v cloudu. Například jsme původně používali odděleně uživatele s licencí v cloudu pro služby jako Teams. A teprve následně provedli synchronizaci s uživateli z On-Premises AD. Nyní chceme korektně využívat On-Premises schránky uživatelů i pro cloudové služby. Popis je Permanently Clear Previous Mailbox Info.

Pokud má uživatel v cloudu přiřazenu licenci, tak mu nelze smazat schránku (Disable-Mailbox -PermanentlyDisable). Jediná možnost je odebrat uživateli Exchange licenci. V tu chvíli se změní typ a parametry podle synchronizovaných údajů a začne fungovat směrování pošty.

V dalším popisu jsou nejen nutné kroky pro vyřešení dvou schránek uživatele, ale řada věcí navíc. Ty slouží k analýze situace, porovnání hodnot a pochopení chování.

Stručné kroky, mezi jednotlivými operacemi je potřeba nějakou dobu počkat (než se změny projeví)

  • Microsoft 365 admin center - uživateli odebereme licenci Microsoft 365/Office 365 nebo z ní pouze odstraníme službu Exchange Online (často jsou vazby na další aplikace, takže musíme odstranit i ty)
  • Exchange Online PowerShell - pomocí cmdletu Set-User -PermanentlyClearPreviousMailboxInfo odstraníme uživateli informaci o předchozí schránce
  • Microsoft 365 admin center - uživateli vrátíme licenci nebo službu

Zobrazení informací o uživateli

Nejprve si zobrazíme údaje o uživateli v interní organizaci.

[PS] C:\>Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : None
RecipientType                : UserMailbox
RecipientTypeDetails         : UserMailbox
MailboxLocations             : {1;77b54d03-c6a1-416d-adcb-d447681508d1;Primary;firma.local;48c9a781-03fe-41df-b294-
                               7b8be749900a}

[PS] C:\>Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid
----          ------------
Petr Poslední 77b54d03-c6a1-416d-adcb-d447681508d1

Potom stejného uživatele v online organizaci.

PS C:\> Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : None
RecipientType                : UserMailbox
RecipientTypeDetails         : UserMailbox
MailboxLocations             : {1;a910edc4-695a-4c38-afd5-2952ec1edba8;Primary;eurprd06.prod.outlook.com;2fedd290-4342-4bdb-
                               8a87-4f232be828a4}

PS C:\> Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Petr Poslední a910edc4-695a-4c38-afd5-2952ec1edba8

Odebrání licence na Exchange Online

Microsoft 365 admin center odebereme uživateli službu (aplikaci) Exchange Online z licence Microsoft 365 / Office 365. Po odebrání služby se odstraní schránka a změní typ uživatele (ze schránky na kontakt), ale také se nastaví předchozí typ uživatele (PreviousRecipientTypeDetails). Tato informace říká, že uživatel měl schránku v cloudu. Zajímavé mi přijde, že se změní ExchangeGUID na hodnotu z On-Premises.

Zobrazení údajů o uživateli v online organizaci po odebrání licence.

PS C:\> Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : UserMailbox
RecipientType                : MailUser
RecipientTypeDetails         : MailUser
MailboxLocations             : {1;a910edc4-695a-4c38-afd5-2952ec1edba8;ComponentShared;eurprd06.prod.outlook.com;2fedd290-
                               4342-4bdb-8a87-4f232be828a4}

PS C:\> Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Petr Poslední 77b54d03-c6a1-416d-adcb-d447681508d1

Pokus s vrácením licence na Exchange Online (neprovádět)

V tuto chvíli by mělo korektně fungovat doručování pošty. Ale pro některé funkce potřebujeme uživateli opět přiřadit Exchange licenci. Pokud to uděláme, tak se mu nastaví původní ExchangeGUID a připojí se / vznikne schránka v cloudu. Takže jsme tam, kde jsme byli.

PS C:\> Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : MailUser
RecipientType                : UserMailbox
RecipientTypeDetails         : UserMailbox
MailboxLocations             : {1;a910edc4-695a-4c38-afd5-2952ec1edba8;Primary;eurprd06.prod.outlo
ok.com;2fedd290-4342-4bdb-8a87-4f232be828a4}

PS C:\> Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Petr Poslední a910edc4-695a-4c38-afd5-2952ec1edba8

Vymazání původních údajů o schránce

Microsoft přidal parametr k příkazu Get-User, který vymaže údaje o předchozím typu uživatele, ExchangeGUID, MDB. Musíme jej použít ve chvíli, kdy uživatel nemá přiřazenu licenci (a tudíž ani schránku v cloudu). Při spuštění příkazu odsouhlasíme varování, že dojde k trvalému smazání údajů a schránka nepůjde znovu připojit (ani z ní získat data).

PS C:\> Set-User posledni@firma.cz -PermanentlyClearPreviousMailboxInfo
Confirm
Are you sure you want to perform this action?
Delete all existing information about user “Jon@contoso.com"?. This operation will clear existing values from
 Previous home MDB and Previous Mailbox GUID of the user. After deletion, reconnecting to the previous mailbox
 that existed in the cloud will not be possible and any content it had will be unrecoverable PERMANENTLY.
 Do you want to continue?
Yes  Yes to All  No  No to All  [?] Help (default is "Y"): Y

Když se nyní podíváme na informace o uživateli v cloudu.

PS C:\> Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : None
RecipientType                : MailUser
RecipientTypeDetails         : MailUser
MailboxLocations             : {1;a910edc4-695a-4c38-afd5-2952ec1edba8;ComponentShared;eurprd06.pr
od.outlook.com;2fedd290-4342-4bdb-8a87-4f232be828a4}

PS C:\> Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Petr Poslední 77b54d03-c6a1-416d-adcb-d447681508d1

Přiřazení licence na Exchange Online

Po vymazání předchozích údajů již můžeme bez obav vrátit licenci na Exchange Online. Účet zůstane jako kontakt a zůstane i správné ExchangeGUID.

PS C:\> Get-User posledni@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Petr Poslední
PreviousRecipientTypeDetails : None
RecipientType                : MailUser
RecipientTypeDetails         : MailUser
MailboxLocations             : {1;a910edc4-695a-4c38-afd5-2952ec1edba8;ComponentShared;eurprd06.pr
od.outlook.com;2fedd290-4342-4bdb-8a87-4f232be828a4}

PS C:\> Get-Recipient posledni@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Petr Poslední 77b54d03-c6a1-416d-adcb-d447681508d1 

Oprava pomocí PowerShellu nad skupinou uživatelů

Informace o tom, jak pracovat s Microsoft 365 / Office 365 licencemi, jsme si popsali v druhé části článku PowerShell pro Azure AD, Exchange Online, práce s licencemi. Popsali jsme využití PowerShellu pro odebírání služeb, nastavování licencí, zjišťování informací, hromadné operace nad skupinou uživatelů.

V poslední kapitole Oprava účtu, kdy se odstraní duplicitní schránka v cloudu, jsme si uvedli PowerShell příkazy, které můžeme použít pro provedení kroků popsaných v předchozích kapitolách. Navíc můžeme opravu použít pro více účtů najednou, které si třeba uložíme do textového souboru.

Uživatel se schránkou v cloudu bez vazby v On-Premises

Další problematická situace, která může vzniknou, pokud synchronizujeme lokálního uživatele bez schránky do Azure AD a tam mu přiřadíme licenci na Exchange Online. V cloudu se vytvoří schránka, ale na On-Premises Exchange se nesynchronizují tyto údaje.

Oficiální řešení jsem nenalezl, ale snad funguje následující, čemuž napovídá článek How to recover when a mailbox exists in both Exchange Online and On-Premises. Lokálního uživatele změníme na Mail-Enabled, tím začne fungovat směrování pošty. Nastavíme Exchange GUID na hodnotu z cloudu, aby se účty korektně spojily (a třeba fungovala migrace schránky).

Zobrazení informací o uživateli

Lokální uživatel není Mail-Enabled, takže nemůžeme použít většinu Exchange PowerShell cmdletů. Atribut msExchMailboxGuid v AD DS nemá nastaven. Účet je typu User.

[PS] C:\>Get-User bouska@firma.cz | Select Name,*Recipient*

Name          PreviousRecipientTypeDetails RecipientType RecipientTypeDetails
----          ---------------------------- ------------- --------------------
Bouška Petr                           None          User                 User

V cloudu má uživatel schránku a nastavené ExchangeGUID.

PS C:\> Get-Recipient bouska@firma.cz | Select Name,ExchangeGuid

Name          ExchangeGuid                        
----          ------------                        
Bouška Petr   f58dee79-79a8-48eb-8cad-d6ec6f126cf7

PS C:\> Get-User bouska@firma.cz | Select Name,*Recipient*,MailboxLocations

Name                         : Bouška Petr
PreviousRecipientTypeDetails : User
RecipientType                : UserMailbox
RecipientTypeDetails         : UserMailbox
MailboxLocations             : {1;f58dee79-79a8-48eb-8cad-d6ec6f126cf7;Primary;eurprd06.prod.outlo
ok.com;725d2e57-d140-4b65-b45a-b913dbba615e}

Nastavení vzdálené schránky (Remote Mailbox)

Na On-Premises Exchange použijeme příkaz, který by vytvořil schránku v cloudu (ta již přitom existuje). Nastaví se správně typ lokálního účtu a atributy. Stále se nenastaví Exchange GUID.

[PS] C:\>Enable-RemoteMailbox bouska -RemoteRoutingAddress bouska@firma.mail.onmicrosoft.com

Name                 RecipientTypeDetails            RemoteRecipientType
----                 --------------------            -------------------
Bouška Petr          RemoteUserMailbox               ProvisionMailbox

Zobrazení údajů na lokálním Exchange serveru.

[PS] C:\>Get-RemoteMailbox bouska@firma.cz | Select Name,*RecipientType*

Name                 : Bouška Petr
RemoteRecipientType  : ProvisionMailbox
RecipientType        : MailUser
RecipientTypeDetails : RemoteUserMailbox

[PS] C:\>Get-Recipient bouska@firma.cz | Select Name,ExchangeGuid

Name         ExchangeGuid
----         ------------
Bouška Petr  00000000-0000-0000-0000-000000000000

Pozn.: Zde je RemoteRecipientType ProvisionMailbox. Pokud lokální schránku přesuneme do cloudu, tak se nastaví RemoteRecipientType na Migrated.

Nastavení Exchange GUID

Jako poslední nastavíme lokálnímu uživateli ExchangeGUID na hodnotu, kterou má tento uživatel v cloudu.

[PS] C:\>Set-RemoteMailbox bouska@firma.cz -ExchangeGuid f58dee79-79a8-48eb-8cad-d6ec6f126cf7

Přesun schránky mezi organizacemi

Přesun schránky (Move Mailboxe) z On-Premises Exchange do Exchange Online nebo opačně je dobře popsaný v článku Move mailboxes between On-Premises and Exchange Online organizations in hybrid deployments. Musíme mít dobře nastavený Exchange Hybrid. Microsoft uvádí provést test přesunu schránky, jako kontrolu nastavení Exchange Hybrid.

Pro přesun schránky můžeme použít Exchange Admin Center (EAC) na Exchange Online. Volíme buď Migrate to Exchange Online nebo Migrate from Exchange Online.

  • EAC - Office 365 - Recipients - Migration

Nebyla nalezena schránka

Jedna z chyb, které se mohou objevit, je, že nebylo nalezeno odpovídající Mailbox GUID. Kontrolu (a případné nastavení) provedeme pomocí PowerShellu, jak je popsáno výše. Také je tento problém pospsán v "MigrationPermanentException: Cannot find a recipient that has mailbox GUID " error message when you try to move a mailbox in an Exchange hybrid deployment.

Error: MigrationPermanentException: Cannot find a recipient that has mailbox GUID ?'f58dee79-79a8-48eb-8cad-d6ec6f126cf7?'.
 --> Cannot find a recipient that has mailbox GUID ?'f58dee79-79a8-48eb-8cad-d6ec6f126cf7?'.
zobrazeno: 6688krát | Komentáře [3]

Autor:

Související články:

Azure, Microsoft 365, Office 365, Cloud

Různá populární témata ohledně veřejného cloudu. Více zaměřeno na služby Microsoft, tedy IaaS, PaaS, SaaS Azure, adresářové služby Azure AD a hostované služby Microsoft 365 / Office 365.

Microsoft Exchange

Jednou částí mé práce je administrace poštovního serveru od firmy Microsoft, tedy Exchange Serveru. Články začínají u verze 2003 a jak jde čas, tak pokračují dále.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] gisbern

    Predem chci podekovat za krasne stranky, ktere je radost cist :)

    Nyni k memu dotazu. Ve firme s domenou xxx.cz mame vlastni on-premise server exchange 2016. Tak. A radi bychom vyuzivali nektere funkce 365 (PLANNER, TEAMS..) Nicmene vzhledem k GDPR nemuzeme preklopit kompletni exchange domenu do 365. Maily si chceme nechat na vlastnim serveru. Samozrejme to lze zrejme udelat tak, ze si na 365 zridime jinou domenu, yyy.cz , pak ale budeme mit dva maily, coz je neprakticke.

    1. Donutit 365 aplikace (teams atd..), aby spolupracovaly s on-premise exchange ? Pocitam, ze to je sci-fi a konfiguracně neproveditelné, ale bylo by to reseni, ktere by mi vyhovovalo

    2. na 365 jsem duplicitne zridil stejnou domenu xxx.cz se stejnymi schrankami jako na-onpremise exchange pro ucely pouziti teams apod. Nicmene jsou to porad oddelene schranky. Lze donutit takoveto schranky k nejakemu typu synchronizace mezi sebou ?

    Dekuji moc

    Pondělí, 07.06.2021 08:58 | odpovědět
  2. [2] Samuraj

    odpověď na [1]gisbern: Ale vždyť to je přesně to, co popisuji v těchto článcích o Exchange Hybrid. A ještě tam zmiňuji, že je to potřeba právě pro využití Teams a přístupu do kalendářů.

    Musím synchronizovat uživatele z AD DS do Azure AD, nastavit komunikaci Exchange, uživatelé mohou zůstat On-Premises, ale cloudové aplikace mohou přistupovat ke schránkám (určitým omezeným způsobem). Nefunguje třeba ToDo, protože to běží přímo v Exchange Online.

    Pondělí, 07.06.2021 09:16 | odpovědět
  3. [3] gisbern

    odpověď na [2]Samuraj: Moc dekuji za reakci. Ja si to proctu pozorneji. Me se prave zdalo, ze clanek puvodne popisuje to, ze CAST uzivatelu je na 365 a cast na on-premise.

    Co se tyka synchronizace, me by se pak libila synchronizace pouze kalendaru, aby maily zustavaly na lokalnim exchangi.

    Neděle, 13.06.2021 11:48 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách