Skip Ribbon Commands
Skip to main content

Xadean's Empirical Musing

:

Quick Launch

Xadean's Empirical Musing > Posts > How to Make Exchange Legacy Public Folders Visible to Exchange Online Users in a Hybrid Configuration
August 03
How to Make Exchange Legacy Public Folders Visible to Exchange Online Users in a Hybrid Configuration

Issue Description

In an environment that had a pre-existing Exchange Server 2010 SP3 (multiple distributed servers running Mailbox (M), Hub Transport (HT), Client Access (CAS), and Unified Messaging (UM) roles) and new configured hybrid integration with Exchange Online (ExO) in Office 365 tenant, migrated mailbox users were not able to access / view any of the legacy public folders homed on-premises in Exchange 2010.

Resolution

Here are the troubleshooting steps that we have done to make the legacy Exchange 2010 public folders visible to Office 365 ExO migrated mailbox users.

Step 1: Make remote public folders discoverable

 

If your public folders are on Exchange 2010 or later servers, you must install the Client Access server (CAS) role on all mailbox servers that have a public folder database. This allows the Microsoft Exchange RpcClientAccess service to be running so that all clients can access public folders. For more information, see Install Exchange Server 2010.

 

Note: This server doesn't have to be part of the Client Access load balancing. For more information, see Understanding Load Balancing in Exchange 2010.

 

  • Create an empty mailbox database on each public folder server. For Exchange 2010, run the following command. This command excludes the mailbox database from the mailbox provisioning load balancer. This prevents new mailboxes from being added automatically to this database.

 

New-MailboxDatabase -Server <PFServerName_with_CASRole> -Name <NewMDBforPFs> -IsExcludedFromProvisioning $true

 

Note: We recommend that the only mailbox that you add to this database is the proxy mailbox that you'll create in step 3. No other mailboxes should be created on this mailbox database.

 

  • Create a proxy mailbox within the new mailbox database and hide the mailbox from the address book. The SMTP of this mailbox will be returned by AutoDiscover as the DefaultPublicFolderMailbox SMTP, so that by resolving this SMTP the client can reach the legacy exchange server for public folder access.

 

New-Mailbox -Name <PFMailbox1> -Database <NewMDBforPFs>

Set-Mailbox -Identity <PFMailbox1> -HiddenFromAddressListsEnabled $true

   

  • For Exchange 2010, enable AutoDiscover to return the proxy public folder mailboxes.

 

Set-MailboxDatabase <NewMDBforPFs> -RPCClientAccessServer <PFServerName_with_CASRole>

 

  • Repeat the preceding steps for every public folder server in your organization.

 

Example: 

New-MailboxDatabase -Server SRVR01 -Name PFMailboxDB -IsExcludedFromProvisioning $true

New-MailboxDatabase -Server SRVR02 -Name PFMailboxDB2 -IsExcludedFromProvisioning $true        

   

New-Mailbox -Name PFMailbox1 -Database PFMailboxDB

Set-Mailbox -Identity PFMailbox1 -HiddenFromAddressListsEnabled $true

   

New-Mailbox -Name PFMailbox2 -Database PFMailboxDB2

Set-Mailbox -Identity PFMailbox1 -HiddenFromAddressListsEnabled $true

   

Set-MailboxDatabase PFMailboxDB -RPCClientAccessServer SRVR01

Set-MailboxDatabase PFMailboxDB2 -RPCClientAccessServer SRVR02

   

  • Run the below command on exchange online PowerShell to make the public folder as remote and add the name of on-premises public folder in remote.

    Set-OrganizationConfig -PublicFoldersEnabled Remote -RemotePublicFolderMailboxes PFMailbox1,PFMailbox2,PFMailbox******NAMES OF ALL PUBLIC FOLDER****"

     

  • Run the full sync on sync server:

    Start-ADSyncSyncCycle -PolicyType Initial

    Note: This process take up to 3 hours to replicate.

     

  • For Exchange 2010, enable AutoDiscover to return the proxy public folder mailboxes.

 

Set-MailboxDatabase <NewMDBforPFs> -RPCClientAccessServer <PFServerName_with_CASRole>

 

  • Run the following command in ExO Powershell.

     

    Get-casmailbox –resultsize unlimited | set-casmailbox – PublicFolderClientAccess $true

     

    Note: This is a critically important step. You may also configure individual users to access the legacy on-premises public folder by executing the following ExO Powershell command.

     

    Set-CASMailbox <user_mailbox_alias> -PublicFolderClientAccess $true

    Get-CASMailbox <user_mailbox_alias> | fl *public*

 

References

https://docs.microsoft.com/en-us/exchange/collaboration-exo/public-folders/set-up-legacy-hybrid-public-folders

 

Migrate Ex2010 Legacy Public Folders to O365

https://docs.microsoft.com/en-us/exchange/collaboration-exo/public-folders/batch-migration-of-legacy-public-folders

 

Migrate Ex2010 Public Folders to O365 Groups

https://docs.microsoft.com/en-us/exchange/use-batch-migration-to-migrate-exchange-2010-public-folders-to-office-365-groups-exchange-2013-help

   

https://technet.microsoft.com/en-us/library/dn912663%28v=exchg.150%29.aspx?f=255&MSPPError=-2147217396#Scripts 

   

https://thoughtsofanidlemind.com/2013/12/13/migration-modern-public-folders/

   

https://technet.microsoft.com/en-us/library/dn986544(v=exchg.150).aspx

https://blogs.technet.microsoft.com/exchange/2015/11/02/running-powershell-cmdlets-for-large-numbers-of-users-in-office-365/

Comments

There are no comments for this post.

Add Comment

Title


Body *


CAPTCHA *

Attachments