Our thinking


Change the Time Zone for a Resource Calendar or Shared Mailbox in Office 365

I recently posted an article on how to publish a resource calendar in Office 365 as a live HTML feed. In testing this further with a client, it turns out that the published calendar doesn’t have the time zone set, so it defaults to showing all event times in GMT. Clearly this is useless for anyone who’s not living on the Prime Meridian.

Fortunately with a bit of PowerShell, this can easily be fixed.

First of all, to get the correct time zone that you are in, run the following cmdlet against the mailbox of someone who has logged in to Outlook on the Web and set their time zone correctly:

Get-MailboxRegionalConfiguration -Identity "[email protected]"

In my case, it returned the following information:

Identity             Language        DateFormat TimeFormat TimeZone
--------             --------        ---------- ---------- --------
username             en-AU           M/d/yyyy   h:mm tt    AUS Eastern Standard Time

From this example, I can see that the end user is in the AUS Eastern Standard Time time zone.

Next up, we have to apply this time zone to the resource calendar, or the shared mailbox – and with PowerShell being what it is, it’s pretty easy to guess what the syntax is. For example:

Set-MailboxRegionalConfiguration -Identity [email protected] -TimeZone "AUS Eastern Standard Time"

If you want to batch apply this setting to all mailboxes in an organisation, run the following script:

$users = Get-Mailbox –ResultSize unlimited
$users | %{Set-MailboxRegionalConfiguration $_.Identity –TimeZone “AUS Eastern Standard Time”}

This can be further filtered by Exchange recipient types, e.g. for Room mailboxes, replace the first line with:

$users = Get-Mailbox –ResultSize unlimited –Filter{(RecipientTypeDetails –eq ‘RoomMailbox’)}

You can also apply this to UserMailbox or EquipmentMailbox as required.

Leave a Reply