Sharing Exchange Calendars in an HTML Text Widget

Using an Exchange 2010 SP1 or later email server, you can set up a community widget to show users' Exchange calendars, with customizable levels of visible calendar details.

Calendar sharing uses Exchange Web Services to make HTML and iCal versions of the users' calendars available. Depending on your Exchange topology, this can (and will) publish calendar URLs to the Internet, where they could be viewed by anyone. If you want to prevent this, make sure you have a secure firewall in place.
To get started, set up the following on your Exchange server:
Note: You cannot share calendars contained in public folders. A shared calendar must be a user mailbox.
Next, follow these steps to publish shared calendars in your community:
  1. Ensure that calendar publishing is enabled on your Exchange server. To do this, you can use the following Exchange PowerShell commandlet:
    Get-OwaVirtualDirectory | ft server, Name,
  2. Enable calendar publishing with:
    Set-OWAVirtualDirectory "SERVER\owa
                            (Default Web Site)" –CalendarPublishingEnabled:$true 
  3. From the Exchange Management Shell, create a new calendar sharing profile and enable anonymous shares:
    New-SharingPolicy -Name "Calendar Sharing
  4. Set the sharing policy on user mailboxes who wish to share their calendars:
    Set-Mailbox -Identity User.Mailbox -SharingPolicy "Calendar Sharing
  5. Tell the target users to share their calendars either via Outlook 2010 or via Outlook Web Access.
  6. When the user publishes a shared calendar, gather the full text of the "Link for viewing calendar in a web browser." This link will look something like this:
  7. In the community place where you want to share calendars, edit the place to include an HTML widget.
  8. In the widget, include the link from above. This link must be contained in an iframe tag. Here is an example:
    <iframe src="https://YOUR.MAIL.SERVER/owa/calendar/GUID@YOURDOMAIN.PUBLIC/DIFFERENT_GUID/calendar.html" width="1200" height="800"></iframe> 
  9. Save and publish your changes to the place.
Your results in the space will look something like this:

Shared Exchange calendar