In this post I will show you how to configure the way Exchange handles work hours for a resource mailbox.
Exchange 2007
To set the work hours you can use OWA or Outlook.
OWA
You can find the settings under Options and Calendar Options. Edit the Start Time and End Time of Calendar Work Week.
For OWA client, the Working hours configuration is saved in a hide message in Calendar folder, you can use MFCMapi to check the configuration:
- Run MFCMapi tool and logon the user mailbox (Online Mode)
- Open mailbox and expand Root Container and Top of Information Store
- Right click the Calendar folder and click Open Associated Contents Table
- Click the message which subject is IPM.Configuration.WorkHours
- Open the property 0x7C080102 which contains the Work Hours setting.
Outlook
You can either configure the settings using the Outlook client, in Outlook 2010 the settings are in Outlook Options, Calendar and Work Time. Also, the Working hours configuration is saved in following registry key on the client:
HKCU\Software\Microsoft\Office\12.0\Outlook\Options\Calendar
CalDefEnd
CalDefStart
When the work hours are set, you will have to run the following command to make sure that the mailbox only accept bookings during work hours:
Set-MailboxCalendarSettings -Identity <mailboxidentity> -ScheduleOnlyDuringWorkHours $true
Example:
Set-MailboxCalendarSettings -Identity test3 -ScheduleOnlyDuringWorkHours $true
Exchange 2010
In Exchange Server 2010 it’s a bit different. First, this is how you configure the actual work hours:
Set-MailboxCalendarConfiguration -Identity <mailboxidentity> -WorkingHoursStartTime <start time in format 00:00:00> -WorkingHoursEndTime <end time in format 00:00:00>
Example:
Set-MailboxCalendarConfiguration -Identity test3 -WorkingHoursStartTime 08:30:00 -WorkingHoursEndTime 17:30:00
And if you want to change the settings for all room mailboxes:
Get-Mailbox | Where {$_.RecipientTypeDetails -eq "RoomMailbox"} | Set-MailboxCalendarConfiguration -WorkingHoursStartTime 08:30:00 -WorkingHoursEndTime 17:30:00
There are plenty more settings that you can configure, to check the current settings use the following:
Get-Set-MailboxCalendarConfiguration -Identity <mailboxidentity> | fl
When this is done you will have to set the resource mailbox to accept bookings only during work hours:
Set-CalendarProcessing -Identity <mailboxidentity> -ScheduleOnlyDuringWorkHours $true
Example:
Set-CalendarProcessing -Identity test3 -ScheduleOnlyDuringWorkHours $true
Thanks for reading! And as usual, if you have any further questions don’t hesitate to let me know!