Skip to content

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.

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:

Calendar AvailabilityStatus
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.

Outlook

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.

Exchange 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 information.
No free/busy information could be retrieved.
The recipient’s server could not be contacted.
Contact your administrator.

Exchange on-premises free/busy information could not be retrieved

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.

Exchange on-premises calendar not available for Exchange Online users

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).

Microsoft Remote Connectivity Analyzer Free/Busy

Enter the fields, fill in the captcha, and click on Perform Test.

Microsoft Remote Connectivity Analyzer Free/Busy perform test

Testing is finished, and showing that the Free/Busy test failed.

Microsoft Remote Connectivity Analyzer Free/Busy lookup 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.

[PS] C:\>(Get-PartnerApplication).LinkedAccount

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)

[PS] C:\>iisreset

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.

Exchange Online users able to view on-premises calendar

Schedule a meeting and open the scheduling assistant. Verify that the on-premises free/busy information is retrieved.

Exchange on-premises free/busy information retrieved in Outlook on the web

Sign in to Outlook on the web with the Exchange Online mailbox user (testexo). Verify that the on-premises calendar is viewable.

Exchange on-premises free/busy information retrieved in Outlook

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 »

Conclusion

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.

ALI TAJRAN

ALI TAJRAN

ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 6 Comments

  1. Thanks a lot! All your articles are so easy to follow. The best website I have seen in all my years.

  2. 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.

    1. i have tried the steps and no success. Looks like my error is due to another cause

Leave a Reply

Your email address will not be published. Required fields are marked *