How do I enable the new Internet Calendar Sharing (.ICS) with Exchange 2010 Sp1?


This was a question asked by a university in North Carolina.  (Screenshots courtesy of the Exchange product team)

 

What can I share my calendar with?

Basically any platform that supports iCal (.ics) format can consume this such as Google, Zimbra, Yahoo, Windows Live, and even external Outlook users can view your calendar without the need for calendar federation.

image

 

 

What does it look like?

On the client side, within OWA, you select “publish this calendar”.  note: I haven’t seen equivalent feature in Outlook 2010.

image

Select secondary calendar publishing options such as details, how many months, etc.

image

To share your calendar via ICS externally, using OWA select “send links to this calendar”

image

Email put together to external person with .ICS links

image

External Recipients view of ICS HTML URLs:

image

External Recipients view of your calendar using HTML view of Internet Shared Calendar:

image

How do I enable Internet Calendar Sharing?

The exchange administrators will have to run some cmdlets to enable this:

 

Step 1:

PRE-REQUISITE: OWA External URL must be set

set-owavirtualdirectory –Identity <CAS> -ExternalURL <externalURLforCAS>

 

Step 2:

PRE-REQUISITE: Mailbox webproxy must be set

set-exchangeserver –identity “servername” –InternetWebProxy ”webproxy URL”

 

Step 3:

Admin must enable Internet access to exchange published calendars

set-owavirtualdirectory –Identity <CAS> -CalendarPublishingEnabled $true

 

Step 4:

Admin must enable sharing policy for Internet Publishing

set-sharingpolicy –Identity <PolicyName>

-Domains “Anonymous:<accesslevel>”

 

Optional Step 5: If using OWA “publish this calendar” is not an option this is an alternative step

Once policy and vdir access are set, can publish calendar

set-mailboxcalendarfolder –Identity <alias>:\calendar -SearchableUrlEnabled (default $false) -DetailLevel (default AvailabilityOnly)

-PublishDateRangeFrom (default ThreeMonths)

-PublishDateRangeTo (default ThreeMonths)

 

Optional Step 6:

Once calendar is published, can retrieve users URL’s

get-mailboxcalendarfolder –Identity <alias>:\calendar

 

Final published URL format you would place in external email systems clients would be something like this:

http://contosounivesity.edu/owa/calendar/<userID+CalendarID>.ics

or they could just leverage the HTML view.

Comments (9)

  1. Anonymous says:

    I was able to get the “Publish This Calendar” link to appear in Outlook 2010 and OWA but when I try to publish a calendar from my OWA client by clicking on Start Publishing, I see this error:   Url is not valid:myemail.ins-lua.com/…/calendar.html

    I did the following steps as instructed in the blog on my Exchange server but the calendar website still can not be accessed:

    Step 3:

    Admin must enable Internet access to exchange published calendars

    set-owavirtualdirectory –Identity <CAS> -CalendarPublishingEnabled $true

    Step 4:

    Admin must enable sharing policy for Internet Publishing

    set-sharingpolicy –Identity <PolicyName>

    -Domains “Anonymous:<accesslevel>”

    Any help is greatly appreciated.

  2. markga says:

    From what I could gather Alvin (documentation is a bit thin on this), this is just a webproxy address for the Exchange servers to use for Internet access. If you don't have ISA but do have a webproxy (e.g. you specify one in your browser to access the Internet) you would leverage that address instead.

  3. Alvin Chen says:

    Nice.  Question though, what is the purpose of the InternetWebProxy.  According to technet.microsoft.com/…/bb123716.aspx, InternetWebProxy is "The InternetWebProxy parameter specifies which Web proxy servers, such as Microsoft Internet Security and Acceleration (ISA) Server computers, Exchange should use to reach the Internet"

    What is you do not have an ISA Server, why is this necessary and a prerequisite?  

  4. Alvin Chen says:

    Awesome.  Got it all setup.  Yeah, that InternetWebProxy value is very poorly documented.  But I tried it with no InternetWebProxy set, and it does seem to work.  

    Two other things of note:

    First, we already had a Calendar Sharing Policy setup via the GUI.  So the step 4, all we had to do is go into the GUI and Add Anonymous:CalendarFreeBusy…

    Second, we only make our CAS available via https.  The firewall does not answer on port 80, per security team.  When the user publishes and sends the link out, it always is set to http.

    When I run

    get-owavirtualdirectory -Identity "SERVER1owa (Default Web Site)" | FL

    The value ExternalURL does say httpS:.

    So I have to tell users to tell the people they are contacting, "be sure that you tell them change the url to HTTPS".  That's kind of annoying.

  5. Brian says:

    I recently attempted to setup internet Calendar Sharing on Exchange 2010 SP1. I followed these directions : blogs.technet.com/…/how-do-i-enable-the-new-internet-calendar-sharing-ics-with-exchange-2010-sp1.aspx

    I was able to get the “Publish This Calendar” link to appear in Outlook 2010 and OWA but when I try to publish a calendar from my OWA client by clicking on Start Publishing, I see this error:   Url is not valid:http://***.***.com/calendar/a4add9ccf54a42c8906b85b70b7f8532@ins-lua.com/0359c304924e486b86fcf0a5e1024e6a6561652548537369482/calendar.html

    I did the following steps as instructed in the blog on my Exchange server but the calendar website still can not be accessed:

    Step 3:

    Admin must enable Internet access to exchange published calendars

    set-owavirtualdirectory –Identity <CAS> -CalendarPublishingEnabled $true

    Step 4:

    Admin must enable sharing policy for Internet Publishing

    set-sharingpolicy –Identity <PolicyName>

    -Domains “Anonymous:<accesslevel>”

    Any help or insight is greatly appreciated.

  6. Dave says:

    Great stuff. It also works using EMC->Organization Configuration->Mailbox->Sharing Policies

    Here modify your sharing policy by opening the dialogue and hitting Add from the General tab and add "Anonymous" and choose the action prefered.

    The question is how can I remove an -InternetWebProxy, if I no longer want to specify one? Does anybody now the shell command?

  7. james says:

    Is there a way to quickly publish all user calendars with availability only?  Something like:

    get-mailbox | set-mailboxcalendarfolder …..

  8. Ivo says:

    Great Article!

    Whats the OwaVirtualDirectory-ExternalUrl? is it like https://domain/owa, or https://domain/owa/calendar or just https://domain ?

    Thank you in advance.

  9. CreatoX says:

    You get the URL following this command

    get-mailboxcalendarfolder –Identity :calendar

    Please note the default calendar name is set to the language the mailbox is set. So for example Dutch users should use:

    get-mailboxcalendarfolder –Identity :agenda