UPDATE: 26 June 2011 – It appears that the PowerShell command needed to enable Calandar Publishing has been locked down by Microsoft. Attempting to run the Enable-OrganizationCustomization command now results in an error message stating “This operation is not available in current service offer”. I will try establish why this has changed and when (if?) the function will be restored. Until further notice, the instructions below will not work.
One of the features I really need from Office 365 Outlook is for people to know when I’m available without having to phone or email me. You can expose your calendar to colleagues with Calendar Sharing, but for clients and suppliers (i.e.: users outside of your organisation) you need Calendar Publishing.
Unfortunately, Calendar Publishing is not enabled by default and comprehensive online guidance is hard to come by. Hopefully this blog will make your life a little bit easier.
Enabling Calendar Publishing consists of two phases. The first phase enables calendar publishing for email organisation and is made up of PowerShell cmdlets (command-lets). You will need administrator permissions in your Office 365 organisation to perform them. If you do not have administrator permissions, forward this to someone who has and ask them to help.
The second phase enables calendar publishing for your individual calendar and is easily done in your Office 365 Outlook web page. But first the detailed PowerShell steps 🙂
Before you begin, please note:
- If you make a mistake, PowerShell will display an error message. If you do not make a mistake and the command suceeds, PowerShell often does not display anything. The lack of an error message indicates success!
- I have colour coded the PowerShell commands like this, so it’s only the coloured text you need to retype (or copy and paste).
- The cmdlets are not case-sensitive although it might be easier to hunt for typos if you use the same case as the sample.
- Even though some of the longer cmdlets wrap over multiple line, you need to type them out as one continuous command before pressing enter.
Okay? Lets go.
- Open PowerShell. If you’re running Windows 7 or Server 2008 it should already be installed. If you don’t have it you can install it as part of the Windows Management Framework. Download the WMF here.
- Once Powershell is up and running type $cred = Get-Credential.
This will open a dialog box asking for your user name and password, which PowerShell will save for later use. Your security details will be saved for the duration of the PowerShell session, so be sure to close the PowerShell window when you’re done.
- Next, type $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection.
- Set-ExecutionPolicy -ExecutionPolicy unrestricted. This cmdlet lowers your shell security to enable you to run the next cmdlet which executes a script from Microsoft’s servers.
- $ImportResults = Import-PSSession $s
- Set-ExecutionPolicy -ExecutionPolicy restricted. This cmdlet restores your shell security.
- Set-SharingPolicy -Identity “default sharing policy” -Domains “anonymous:calendarsharingfreebusysimple”
That’s the PowerShell phase done. You only need to do this once and all your Office 365 users will be able to publish their calendars.
To publish your own calendar, begin by logging on to Office 365 with your account.
- Go to Outlook
- Go To Calendar
- Click on Share on the toolbar, and select “Publish this calendar to the Internet”
- Configure the options to control how your calendar is shared
Availability Only – shows Free, Busy, Tentative, or Away.
Limited Details – also shows subjects of meetings.
Full Details – shows all details
Restricted – People only have access if they receive a link to your published calendar
Public – Search engines can discover your calendar. Choose this option only if you want your calendar to be available to anyone.
- Click Start Publishing
- Once the Calendar is published you can email the hyperlink to the people who need access to your Calendar.
The “Link for subscribing to this calendar” link will enable Outlook users to add your Calendar to their Outlook and receive automatic updates whenever to update your calendar.The “Link for viewing calendar in a Web browser” will enable other users to view your Calendar or you can use the hyperlink on your own Web site like this.
- You’re done!
Disclaimer: As with any personal information, you need to exercise common sense and discretion in sharing it. Act within the guidelines of your company security policy. If you’re not sure whether you should publish your Calendar or what level of detail to publish, check with your IT department. I accept no responsibility for anything bad that happens due to you over-sharing 🙂
- Connecting to Office 365 with PowerShell
- TechNet article on running PowerShell scripts
- Exchange 2010 SP1 help file on the Set-SharingPolicy cmdlet
- Exchange 2010 SP1 and Exchange Online (Office 365) Calendaring FAQ