You want to find the RemoteHostName URL because you have a mailbox migration planned to…
Exchange Online users are unable to view on-premises calendar information
The organization has an Exchange Hybrid configuration between Exchange on-premises and Exchange Online. Unfortunately, there is an issue with Exchange Hybrid calendar availability. The Exchange on-premises calendars are not available to Exchange Online users. Why is this happening, and what is the solution? This article will explain why Exchange Online users can’t see Exchange on-premises calendar information.
Table of contents
- Unable to view on-premises calendar from Exchange Online
- Exchange on-premises calendar not available to Exchange Online users
- Troubleshoot Exchange Hybrid calendar availability
- Solution to Exchange Online users are unable to view on-premises calendar information
- Verify Exchange on-premises calendar availability
Unable to view on-premises calendar from Exchange Online
The Hybrid Configuration Wizard runs without any problems, and there is a hybrid configuration between on-premises and Microsoft 365/Office 365. Mail flow works as expected, but the problem is that the cross-premises calendar availability isn’t working as we expected.
Let’s look at the below table which calendar availability works and what doesn’t work in the Exchange Hybrid environment:
|Office 365 calendar availability to on-premises||✓|
|Office 365 calendar availability to Office 365||✓|
|On-premises calendar availability to on-premises||✓|
|On-premises calendar availability to Office 365||☓|
Why can’t Exchange Online users see the Exchange on-premises calendar information?
Only Microsoft 365 users are unable to view on-premises calendar information. Let’s check why this is happening and the solution to Exchange Hybrid cross-premises calendar availability.
In our example, we have two user accounts that we will test this on:
- Testex (Exchange on-premises mailbox)
- Testexo (Exchange Online mailbox)
Exchange on-premises calendar not available to Exchange Online users
Let’s look at what’s happening in Outlook and Outlook on the web when checking the on-premises calendar availability from Exchange Online mailbox.
Sign in to Outlook with the Exchange Online mailbox user (testexo). Then, go to the calendar view and add the Exchange on-premises calendar (testex).
The below error will appear after fetching the on-premises calendar:
Could not be updated.
Create a new meeting and use the scheduling assistant. Next, add the on-premises user to check the calendar availability.
The Exchange on-premises calendar does not appear, and the message shows::
No free/busy information could be retrieved.
The recipient’s server could not be contacted.
Contact your administrator.
Outlook on the web
Sign in to Outlook on the web with the Exchange Online mailbox user (testexo). Then, go to the calendar view and add the Exchange on-premises calendar (testex).
The calendar items from the on-premises calendar are not visible.
In the next step, we will examine what is happening and why Exchange Online users can’t access the on-premises calendar.
Troubleshoot Exchange Hybrid calendar availability
Go to Microsoft Remote Connectivity Analyzer, also known as ExRCA.com.
In the left menu, click on Office 365 and follow with Free/Busy. You can also go directly to Free/Busy.
The Free/Busy test verifies that a Microsoft 365/Office 365 mailbox can access the free/busy information of an on-premises mailbox, and vice versa (one direction per test run).
Enter the fields, fill in the captcha, and click on Perform Test.
Testing is finished, and showing that the Free/Busy test failed.
Below is the output:
Free/Busy Lookup failed with exception: Proxy web request failed. , inner exception: System.Web.Services.Protocols.SoapException: The application is missing a linked account for RBAC roles, or the linked account has no RBAC role assignments, or the calling users account is logon disabled. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyApplication.EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, IService service, IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.EndInvoke(IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.AsyncWebRequest.EndInvokeWithErrorHandling()
The error shows:
System.Web.Services.Protocols.SoapException: The application is missing a linked account for RBAC roles, or the linked account has no RBAC role assignments, or the calling users account is logon disabled.
Solution to Exchange Online users are unable to view on-premises calendar information
Now that we have all the necessary information, let’s check everything and correct that with the below steps in Exchange Management Shell.
Step 1: Run the Get-PartnerApplication cmdlet to check if the Exchange Online-ApplicationAccount is present or missing from on-premises.
In our example, there is no output after we enter the below command.
Step 2: Run the Set-ADServerSettings cmdlet, including -ViewEntireForest parameter, to view and manage all the objects in the forest.
[PS] C:\>Set-ADServerSettings -ViewEntireForest $true
Step 3: Run the Get-User cmdlet to get the Exchange Online-ApplicationAccount user account.
[PS] C:\>Get-User "Exchange Online-ApplicationAccount" Name RecipientType ---- ------------- Exchange Online-ApplicationAccount User
Step 4: Run the Set-PartnerApplication cmdlet to link the Exchange Online-ApplicationAccount on the PartnerApplication.
Change exoip.local to your rootdomainFQDN.
[PS] C:\>Set-PartnerApplication "Exchange Online" -LinkedAccount "exoip.local/users/Exchange Online-ApplicationAccount"
Step 5: Run the Get-PartnerApplication cmdlet to verify that the Exchange Online-ApplicationAccount is set to LinkedAccount.
[PS] C:\>(Get-PartnerApplication).LinkedAccount OrgHierarchyToIgnore : IsDeleted : False Rdn : CN=Exchange Online-ApplicationAccount Parent : exoip.local/Users Depth : 3 DistinguishedName : CN=Exchange Online-ApplicationAccount,CN=Users,DC=exoip,DC=local IsRelativeDn : False DomainId : exoip.local PartitionGuid : 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 PartitionFQDN : exoip.local ObjectGuid : de3a6a6c-5639-477b-acde-f57f5effe849 Name : Exchange Online-ApplicationAccount
Step 6: Run the IISReset command to restart IIS (Internet Information Services)
Note: If the command iisreset is insufficient and the Exchange on-premises calendar information is unavailable for Exchange Online users, you should restart the Exchange Server(s).
Verify Exchange on-premises calendar availability
Sign in to Outlook with the Exchange Online mailbox user (testexo). Verify that the on-premises calendar is viewable.
Schedule a meeting and open the scheduling assistant. Verify that the on-premises free/busy information is retrieved.
Sign in to Outlook on the web with the Exchange Online mailbox user (testexo). Verify that the on-premises calendar is viewable.
The on-premises calendar is available to Exchange Online users. Did it work for you?
Read more: Set default calendar permissions for all users with PowerShell »
You learned why Exchange Online users are unable to view on-premises calendar information. The solution to this problem is to link the Exchange Online-ApplicationAccount to PartnerApplication. After that, reset IIS or reboot the Exchange Server(s).
The Hybrid Configuration Wizard should have done this for us in the first place. Also, re-running the HCW didn’t link the user account Exchange Online-ApplicationAccount to PartnerApplication, which it should have done.
Did you enjoy this article? You may also like Manage calendar permissions in Office 365 with PowerShell. Don’t forget to follow us and share this article.
This Post Has 4 Comments
Thanks a lot! All your articles are so easy to follow. The best website I have seen in all my years.
We had this problem for a long time and we couldn’t;t figure it out. Tried the steps and it worked. Thanks a lot for posting this.
Thank you. We are having this problem. I will try it
i have tried the steps and no success. Looks like my error is due to another cause