Managing iCal Calendar Sharing with Exchange 2010 SP1 [Updated]
One of the new features available in Exchange 2010 SP1 that I’m excited about (and already making use of) is the ability to share calendars from Exchange either in iCalendar or HTML format.
So – why is this useful? Doesn’t Exchange 2010 already have improved Calendar sharing with the new federated sharing features available from RTM? Well, yes it does.. And this new features doesn’t replace federated sharing, however if you want to share calendars now is that the world doesn’t run Exchange 2010. Some organisations will move to it over the next year or two; but lets face facts – some enterprises out there may move to Google Apps, Zimbra or something else, so Federated Sharing isn’t going to be an option. While a workaround might be to create partner mailboxes or use third party software, it would be nice to have a solution that “just works” and enables the business to collaborate with partners easily without worrying too much about what technology each other uses. Only with open standards can this happen and with SP1 that’s now a reality.
The ability to publish calendars with anonymous viewers (and that’s an important point, which I’ll come back to) means that should the admin enable it, the user can now go in via OWA, select the calendar they wish to share and choose to publish it. They then receive a set of URLs that they can share via email. The recipient then can simply refer to the calendar via a web browser, or by using any iCalendar compliant software or web app they can subscribe to the shared Calendar.
Getting back to the anonymous part, there are two options. The end user can publish a calendar with a “public” URL that is searchable. The other option is a “restricted” URL with an obfuscated URL. Additionally, the user can restrict what will be shown for each calendar they choose to publish. On top of this, the admin can restrict via sharing policies the maximum amount of information users can publish, and sharing policies can be tied to a certain set of users. So there is some risk in enabling the facility, but by default no user’s calendars are shared, and there are a number of controls available to user and admin to pull the feature in line with the business and individual user’s requirements.
Now you know a little more about the new feature, let’s take a look at how it comes together from a user perspective, and how it’s configured by the admin.
The User Experience
If a feature is going to work well it has to be easy for a user to find and configure. Exchange 2010 SP1 doesn’t disappoint as the feature is listed in both OWA and Outlook in the same place as other calendar sharing options.
For an OWA user, they select the calendar they want to share, then choose “Share”, and the option is listed as “Publish This Calendar…”

If they’re using Outlook 2010 (beta ), the user right clicks the calendar they want to share, chooses “Share” and again, it’s listed as “Publish This Calendar…”

After clicking “Publish This Calendar…” via OWA or Outlook, the options can be chosen including the detail to show, the date range and the type of access:

After clicking “Start Publishing”, the links are generated:
The user can now either copy the links from this page, or via “Share” choose “Send Links to This Calendar…” which opens a new email with the two URLs attached.
Opening the calendar by the recipient is easy enough. For our first example, let’s have a look at Exchange’s primary competitor, Google Apps. To add the shared calendar to Google Calendar, the end user chooses “Add” then “Add by URL”.

They pop in the iCalendar URL, and it shows up in the recipients Google Calendar. You’ll see below I’m subscribing to two Exchange 2010 SP1 calendars – my personal one and my team’s:

(In my case – this is one aspect I personally like about the feature. Although I don’t use Google Calendar I do use iGoogle and it allows me to see my Exchange calendars on my homepage via the Google Calendar widget.)
Next up it’s Zimba. Add a new Calendar, choose Synchronise appointments from remote calendar, then pop in the Exchange iCalendar URL:

Again, the Calendars show perfectly:

Finally let’s not forget Outlook users; from Outlook 2007 onwards iCalendar subscriptions are supported. I’ve quickly tried this in Outlook 2010 beta – simple right click in the calendar list, choose “Add Calendar” and then select “From Internet…”
As above, after popping the iCalendar URLs in the subscriptions are created in the local Outlook client.

And, finally let’s not forget HTML sharing, which does exactly what you’d expect:

The Admin Experience
Now you’ve seen the user experience let’s take a look at what needs to be done to get it up and running in your SP1 environment. To get it all enabled we need to do the following:
- Set an ExternalURL for your organisation’s Client Access Server
- Enable Calendar Publishing on the OWA Virtual Directory
- Create or modify the sharing policy to allow anonymous sharing
Setup of the ExternalURL is pretty standard stuff so I won’t cover it here. Moving on to the Calendar Publishing OWA virtual directory feature, let’s look at what it’s made up of.
The Calendar Publishing works via a new virtual directory – “calendar”. This lives beneath the “owa” virtual directory as “/owa/calendar” and has anonymous, http access enabled (watch out ISA/TMG users). It’s enabled by default but should it need re-enabling it’s pretty straightforward using Powershell. Here’s a quick example:
Set-OWAVirtualDirectory "owa (Default Web Site)" –CalendarPublishingEnabled:$true
Next up, a sharing policy needs to be configured to allow anonymous access. You can do this via EMS or via the EMC. The EMS example below changes the Default Sharing Policy to only allow anonymous access with maximum access level of Calendar Sharing with Free/Busy plus Subject, Location and Body.
Set-SharingPolicy -Identity "Default Sharing Policy" -Domains "Anonymous:CalendarSharingFreeBusyReviewer"
Via the EMC is also pretty straightforward and particularly suitable when you need to create multiple policies or modify existing ones. Here’s a quick run through of how to create a new policy via EMC that only applies to certain users:
Open EMC and navigate to the Organizational Configuration node, then to Mailbox and select the Sharing Policies tab:

First, examine the sharing policies already present. In the above screenshot, I’ve got a single sharing policy which is disabled. As we’re adding a new policy right-click in the white space or click “New Sharing Policy…” on the actions pane. Give the policy a name and add a new “domain” called “Anonymous” and select an appropriate maximum level of access:

After you’ve added the “domain” anonymous to the policy, make sure it’s enabled, then press Next. On the next page you’ll be presented with the opportunity to add mailboxes now. You can of course add these later either via the EMC or via EMS:

Press Next, then after confirming the details, press New. After completion you’ll see a warning that lets you know calendar publishing is enabled for this policy:

Press Finish and we’re all done. You should now be able to login to the specific mailbox and following the first part of the article share the Calendar.
Conclusion
We’ve had a look at what the new feature brings both from an end-user experience and to an administrator. As we can seen it’s great for sharing calendars in an environment where open standards are important or where partners use different products. I’d like to see full WebDAV compatibility so a Linux user can plug straight in and go, but this is a great start as far as sharing is concerned.
Getting back to new shared calendar features in SP1 - I’m hoping more can be revealed over the next few weeks as there’s still a bit more in store!
And of course, you’ll be able to get your hands on this yourself early June.
A final thought – bear in mind all the features and steps described here are not necessarily final so don’t be surprised if things change over the next few months.
Steve
Related posts:
- Set up Federated Free/Busy and Calendar Sharing between Exchange 2010 SP1 and Outlook Live [Updated]
- Comparison of Outlook 2010, OWA 2010 and Outlook 2011 Features [Updated]
- Creating Shared Calendars on Exchange 2010
- A quick look at Outlook Web App improvements in Exchange 2010 SP1
- Reader’s Problems: Can’t send a Calendar sharing message



April 19th, 2010 - 07:38
another good tutorial! thanks
April 19th, 2010 - 16:59
Cheers, glad you enjoyed it!
May 11th, 2010 - 03:43
Federation etc looks nice for centrally managed calendar sharing with external parties. But what about a policy to manage INTERNAL calendar sharing with Exchange 2010?
September 20th, 2010 - 21:13
Unbelievably helpful… 4 hours of searching… and this tutorial solved my problem
Set-OWAVirtualDirectory “owa (Default Web Site)” –CalendarPublishingEnabled:$true
Now if you can tell me how to publish public folders so that I can view them in Mac’s Ical.. you’ll be my superman
September 20th, 2010 - 22:40
Hi James,
Thanks, glad you like it. Unfortunately as yet there isn’t a way to share Public Folders via iCal .. The underlying cmdlets are aimed at Mailboxes.
I’ll find out if it’s in the works and if not raise it as a request as I have seen others ask for it, and my org would benefit from it also.
Steve
August 10th, 2011 - 21:11
When I tried to run this command in the power shell, I got this error:
A positional parameter cannot be found that accepts argument ‘-CalendarPublishingEnabled:’.
+ CategoryInfo : InvalidArgument: (:) [Set-OwaVirtualDirectory], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Set-OwaVirtualDirectory
Am I missing something?
November 7th, 2010 - 17:38
Are these iCalendars updated via the Exchange server, or does it require a client to be running as it did with Outlook publishing iCalendars?
November 7th, 2010 - 18:57
Yes they are via the server, both for publishing and subscription.
November 23rd, 2010 - 17:53
Steve,
This is fantastic stuff, and I am desperately wanting more. I am trying to support a firm that uses hosted Exchange 2010, has some PC’s some Mac’s, and a lot of varying calendar clients. There are Office 2011 for Mac clients who we’ve mostly sorted out, there are XP users with Office 2007 who are sorted out, but our Mac users who want to use iCal instead of Outlook 2011 are kind of stuck.
We can add their account and see their calendars, we can even find other calendars that the users are granted permissions for. However, when we add users calendars that we are permitted to see/manage no data from the server makes it to iCal. I am stumped, the documentation from Apple is non-existent and the documentation from Microsoft is non-existent.
Any help would be appreciated.
Pete
December 20th, 2010 - 15:54
got mine working but for some reason my ical appointments are all 2 hours ahead of my outlook calender. I have checked my regional settings and it is all correct so im pretty stumped now. any help would be appreciated. thanks
January 4th, 2011 - 23:38
Is this possible with Outlook 2003? I see “Share this calendar” but I can’t select it…. I am working in Outlook WebApp.
Thanks for any help you can provide!
Hillary
January 5th, 2011 - 00:34
Hi Hillary,
With Outlook 2003, it’s not possible. The feature to share as iCal is only exposed in Outlook 2007 onwards. To share it as iCal, you need to go in via Outlook Web App in Exchange 2010 SP1 or higher.
Steve
January 18th, 2011 - 18:38
Wow, this was great to go step-by-step through this. Thanks!
Do you know if I can change the granularity of the time span for publishing? Say, publish the next two weeks, or next three weeks, etc? Is there some random file that can be edited for those options?
Thanks!
RG
January 23rd, 2011 - 00:10
Hi RG,
Yep you can, though you can’t set it to anything you like. You can choose from the following before/after:
1 day
3 days
1 week
30 days
3 months
6 months
1 year
Steve
February 11th, 2011 - 18:36
Thanks, Steve. Bummer…I was hoping to be able to specify my own ranges.
February 24th, 2011 - 16:54
Awesome and thanks for sharing. Do you know for certain if an iPad/iPhone can add this calendar as a ‘reviewer’ so that those mobile devices can see the calendar entries but not modify them? Thanks!
February 24th, 2011 - 17:02
Yes, you sure can – check this post:
http://www.stevieg.org/2010/11/shared-exchange-calendars-on-ios-devices/
Steve
March 1st, 2011 - 16:40
Nice read well done
March 23rd, 2011 - 21:47
Two things that you might know the answer to:
#1 – Even though the ExternalURL of the CAS’s OWA virtual directory is set to HTTPS://… the URLs the user sends to other users is HTTP://… If the other user changes it to HTTPS, it works fine inside and outside the organization (we enabled it for anonymous). How do we get the published URL to reflect the S in HTTPS?
#2 – When an outside user clicks the “Subscribe” button on the originating user’s HTML calendar, they are prompted to download an ICS which is just a point copy of the the originating user’s calendar that never updates/refreshes (which is not intuitive since the word subscribe implies an ongoing action). The only way around this seems to be to sent the target user the full ICS string, and have them manually add it in Outlook as an Internet calendar. Surely there has to be a way to make the “Subscribe” button be more than just a download point in time calendar.
Thanks in advance on both of these issues to anyone who can respond.
June 6th, 2011 - 19:58
Experiencing the same problem you describe in #2 above. Dumb question: How do I get the full ICS string instead of the HTTP link ot the ICS file?
October 26th, 2011 - 16:52
Dan, any resolutoin to your ical issues? I have the same issues.
April 5th, 2011 - 07:31
Excellent piece, very detailed walkthrough!!
April 12th, 2011 - 19:01
Thanks for this great step-by-step. I got mine up easily, but was dismayed to find that event category information is not being passed to the ical, even with “subject, location and body” enabled. They were included in the Microsoft Outlook Calendar Sharing Service, and we depend on the categorization to sort and display upcoming events on our web site. I wonder, is there any way to include categories?
April 23rd, 2011 - 05:15
Cool Stuff Steve !!!
April 26th, 2011 - 19:11
Thanks!
May 23rd, 2011 - 06:08
How do I subscribe a user to an iCalendar feed automatically (via PowerShell hopefully!)
Sincerely,
Adam
June 13th, 2011 - 09:28
Thanks for this, it proved very helpful. Any ideas how you go the other way though? I’m trying to subscribe to web calendars from other sources online (such as those in the iCalendar directory). We’re behind a proxy so would I need to set that somewhere in Exchange? The odd thing is that even if I put an .ICS file on an internal web server and add that it still doesn’t work. OWA displays a red message that “This calendar hasn’t been upated yet.”
June 18th, 2011 - 14:36
Hi Chris,
It should work against an internal server – I don’t know if that’s a different issue regarding perhaps MIME types, DNS resolution etc.
For external resolution, I would suggest trying the Technet recommendations for configuring the WinHTTP Proxy for Exchange, here:
Steve
August 24th, 2011 - 19:40
Perhaps if you are good in trading. Its very hard to determine which will double or which will not. The bigger at stake, the bigger the risk
September 14th, 2011 - 14:36
Great, all up and running! I’ve created a Holidays mailbox, and managed to share it.
I’m trying to write to the shared calendars via Thunderbird on linux clients, but it’s just failing. It’s looking like the ics is read-only. Any idea what I could be doing wrong?
November 26th, 2011 - 04:35
Thanks for the great tutorial.
Is there a way of locking down internet publishing? eg; utilise the delegation permissions to limit access to the published calendar for something like the ‘Full Details’ option?
November 30th, 2011 - 23:37
Hiya,
You should be able to create seperate sharing policies for different sets of users, this would be the only way to lock it down or provide different abilities to different users.
Steve