Av rating:
Total votes: 31
Total comments: 2


Nathan Winters
Using Exchange 2007 for Resource Booking
16 July 2008

The process of booking various resources to go with a meeting room just got a whole lot easier with Exchange 2007. Nathan Winters explains Exchange’s resource-scheduling functionality and offers practical advice on how you might go about configuring Exchange to allow users who are scheduling meetings to specify that such things as video conferencing, projection equipment, and refreshments are required for the meeting.

Introduction

Although previous versions of Exchange were regularly used to host mailboxes that represented resources, Exchange 2007 was the first version in which these mailboxes were actually different from normal mailboxes. This means that there is now no need to rely on add-in software such as the ‘Auto Accept Agent’. It also means that the design process has been rather more thought through, thereby ensuring a useful solution both at the server and client end.

In Exchange 2007, it is possible to create resource mailboxes that can represent either Rooms or Equipment. These exist as disabled accounts in Active Directory and can be managed in various ways. Exchange 2007 also contains the type of ‘Auto Accept Agent’ functionality that was missing from Exchange 2003. Having a mailbox type of "Resource" is useful because it makes administration separate. It allows these mailboxes to have special functionality but yet to be secure as disabled users. It is also helpful to be able to distinguish between rooms and equipment as it is easier for users, and gives more flexibility when adding custom resource properties, as we shall see later.

With the ‘Availability Service’ it is now possible to get real-time information about resource availability without the need to wait for public folder replication to occur (so long as Outlook 2007 is being used). To make best use of this solution you must ensure that Outlook 2007 is being used by those who will be interacting with the resources and managing their use. This is important because much of the user interface, such as the Scheduling Assistant, is held in Outlook 2007. I would however be careful in rolling out Outlook 2007 to the entire user base before thorough testing is carried out. Unless you are careful, you will have dissatisfied users; this is because Outlook 2007 does not always perform as expected, especially with third party add-ons.

Environment

My test environment consists of servers in two sites. Each site has a Mailbox server and a combined Hub-Transport and Client-Access server. Outlook 2007 and OWA 2007 are used as clients. Various users have been set-up in each site such as users, admin users (secretaries), resources (projectors), and rooms. I have configured such a test environment because it is useful to be able to show different sites with a different naming convention. Equally I was interested to see how time zones are handled and discovered that, in my view, this could be done better. For example, as I’ll mention later, Outlook is not as flexible as I would like in helping people to arrange meetings in different time zones that require a room in each zone. You could easily test the vast majority of this functionality on a single Exchange server with a single Outlook client.

Creating or Migrating resource mailboxes

The resource mailboxes can be created from the GUI or from the command line as shown below:

New-Mailbox -database "Siteamb1\SG1\DB1" -Name SiteA-Room1 -
OrganizationalUnit
"SiteA Rooms" -DisplayName "SiteA-Room1" -
UserPrincipalName SiteA-Room1@gaots.co.uk -Room

Note - If you are migrating the resource mailboxes from an Exchange 2003 system, then use one of the following commands to convert the migrated mailbox to a resource, either ‘room’ or ‘equipment’ as you wish.

Set-Mailbox -Identity Name -Type Room

Set-Mailbox -Identity Name -Type Equipment

Before moving on, the resource mailboxes must be set-up to ‘auto accept’ meeting requests; otherwise they will always remain as ‘tentative’ until an operator intervenes. This is done as follows:

Get-Mailbox | where {$_.ResourceType -eq "Equipment"} | Set-MailboxCalendarSettings -AutomateProcessing:AutoAccept

 

Get-Mailbox | where {$_.ResourceType -eq "Room"} | Set-
MailboxCalendarSettings -AutomateProcessing:AutoAccept

Once suitably configured as above, each resource mailbox will send an auto-accept message to meeting organizers (Figure 1). The message text can be customized to suit requirements.

Figure 1 – Showing auto acceptance. This message can be customized.

Feature Investigation 

I have now discussed how to create resource mailboxes and how to configure their basic option of responding by accepting requests. As you saw, the initial setup is really fairly simple; it is just important to remember that, when migrating from 2003, you must convert the mailbox to the new resource type. Now, let’s move on and look at some of the key resource-centric features that Exchange 2007 offers.

Security and Booking Policies 

Both security configuration and booking policies allow the administrator to grant control of resource mailboxes to certain users: Those users (using Outlook Web Access) can then define how they are used. For example, it is possible to specify the maximum meeting duration, to define and allow meetings to be scheduled only during working hours and to define how to handle conflicts.

The first step is to setup the resource-admin users as ‘delegates’ of the specific resources in each site. The command below will get mailboxes with the type Equipment or Room and with “sitea” in the name. It will then give Delegate access to the account “siteaadmin”. I have repeated the steps for siteb:

Get-Mailbox -RecipientTypeDetails EquipmentMailbox, RoomMailbox | Where {$_.Name

-match "^sitea"} | Set-MailboxCalendarSettings -ResourceDelegates siteaadmin 
 

Get-Mailbox -RecipientTypeDetails EquipmentMailbox, RoomMailbox | Where {$_.Name -match "^siteb"} | Set-MailboxCalendarSettings -ResourceDelegates sitebadmin

The ‘delegate user’ for each resource mailbox may be sent a copy of the meeting requests which go to that resource depending on policy, and they are then able to accept or reject these requests.

Next set-up the admin accounts in sitea and siteb to have full access to their respective resources. The command below is for siteb:

Get-Mailbox -RecipientTypeDetails EquipmentMailbox, RoomMailbox | Where {$_.Name -match "^siteb"} | Add-MailboxPermission -AccessRights FullAccess -User sitebadmin

With Full Admin permissions on the resource mailbox, the admin user can then open the mailbox as an additional mailbox in Outlook and have full control of all functions. Most important of these is the OWA Options/Resource Settings section of a resource mailbox: This is used to configure some of the Resource options such as; "Resource Scheduling Options", "Resource Scheduling Permissions", "Resource Privacy Options", and "Response Message". Every option that is available via the shell is also available in OWA as shown in Figure 2.

To access the relevant mailbox in OWA you will need to access a specific URL:

http://servername/owa/ResourceMailbox@domain.com

… and then log in with the account which has Full Access rights. Click on the Options button in the top right hand corner and then, in the left hand pane, click on the Resource Settings section.

Figure 2 – The Resource Settings page in OWA options

Once you have reached the Resource Settings section of the mailbox options in OWA, you can see the policies that are available. There are three policies, BookInPolicy, RequestInPolicy, and RequestOutOfPolicy.

  • BookInPolicy is a list of users who can schedule the resource automatically. By default it is set to Everyone.
  • RequestInPolicy is a list of users who can request to schedule to resource and have to have it authorized by the resource administrator.
  • RequestOutOfPolicy is a list of users who can submit a request for a resource even if it is already booked. (This might for example be used for the CEO!)

This page enables you to allow conflicts, set maximum meeting length, allow recurring meetings, customize the text of notification mails and a host of other settings.

A policy example

So what if you want to set a policy that makes it mandatory for a delegate to authorise the request when anyone books catering?

This can be done by first setting up the delegate for the catering resource mailbox as above. Then log into OWA (also as above) and set the “These users can schedule automatically if the resource is available:” policy to “Select Users and Groups”. On the “These users can submit a request for manual approval if the resource is available:” policy to “Everyone”. Save the settings.

At this point, when anyone tries to submit a request, the delegate user will get a mail like the one in Figure 3.


Figure 3 –
The Request info forwarded to delegates

The delegate user can then accept the request (and go ahead and book the catering with the caterer!).

Meanwhile the requesting user will get a mail as in Figure 4, showing the pending request. The meeting is held as tentative to prevent the resource being booked by someone else.

Figure 4 – The Tentative mail received by the user whilst waiting approval

Once the delegate user approves the request, the meeting will be booked and acceptances sent out.

More info about the policies and the shell commands available can be found here:

http://technet.microsoft.com/en-us/library/aa996340.aspx

http://technet.microsoft.com/en-us/library/bb124987(EXCHG.80).aspx

Viewing Meeting rooms

So what does this look like from the client perspective? In Outlook 2007 it is possible to see all rooms, and their availability, in one window by using the Scheduling Assistant in Outlook 2007 as shown in Figure 5.


Figure 5 –
The Scheduling Assistant

All rooms can be added from the “Add Rooms” button. In the main window you will see which rooms are available: this is supplemented by the “Suggested Times” area on the right hand side.

Although it isn’t obvious, it is possible to set the meeting time zone when creating a meeting using the Time Zones button highlighted in Figure 5. However, it is not possible to view and additional time zone in the scheduling assistant as you can in the main Outlook calendar.

Scheduling resources

The Scheduling tab is where most bookings will take place. The basic scheduling of resources is simple. First open a meeting request and enter a subject and if necessary, the attendees. Next move to the Scheduling tab. Use the new ‘Add Rooms’ button to open the window shown in Figure 6. This shows the ‘All Rooms’ address list which gives a view of the capabilities of each room. As you can see, ‘SiteB-Room2’ is listed with a capacity of 2 which is a default property that can be customized on each room, using the Exchange Management Console as shown in Figure 7.

Figure 6 – The All Rooms address list

Figure 7 – Setting the capacity of the Room

If you are searching for an available room, then select those with the correct properties (such as capacity), and add them.

When back on the Scheduling tab, you can then use the ‘attendees’ tab to add other attendees or resources such as projectors. Figure 8 below shows the booking facilities.

Figure 8 – Scheduling tab showing users, resources, and rooms

Custom Resource Properties

As I mentioned earlier it is possible to add custom properties to resource mailboxes. If, for example, you have a catering menu and you want to use a resource mailbox to identify the menu code, then firstly create the custom resource types as follows.

First read the current resource configuration and store it in a temporary variable called $ResourceConfiguration by running the following command:

$ResourceConfiguration = Get-ResourceConfig

Next create your custom properties, in this case sandwich types - Fish, Vegetarian, Meat:

$ResourceConfiguration.ResourcePropertySchema+=("Equipment/Fish")

$ResourceConfiguration.ResourcePropertySchema+=("Equipment/Vegetarian")

$ResourceConfiguration.ResourcePropertySchema+=("Equipment/Meat")

Finally update the resource configuration of your organization by using the modified resource property schema, using the following command:

Set-ResourceConfig -Instance $ResourceConfiguration

Once you have created the custom resource properties, you will then add them to the relevant resource mailbox: this can be done in Exchange Management Console. The example shown in Figure 9 shows two catering menus:

Figure 9 – Showing the method of adding custom resources

Having done that, one way to view these extended attributes is by using the PowerShell command below:

Get-Mailbox -RecipientTypeDetails RoomMailbox |fl Name,ResourceCustom

However, with a little more investigation, I have found another more user-friendly way!

As it would appear that only the ‘All Rooms’ address list has the right GUI part to show the “Description” field, I have edited the filter to include the EquipmentMailbox type as well.

Figure 10 – The combined Rooms and Equipment resources showing custom properties

I used this command to edit the filter.

Set-AddressList -Identity "All Rooms" -RecipientFilter {(Alias -ne $null -and (RecipientDisplayType -eq 'ConferenceRoomMailbox' -or RecipientDisplayType -eq
'SyncedConferenceRoomMailbox' -or RecipientDisplayType -eq 'EquipmentMailbox'))}

The results of the filter change are shown in Figure 10.

Summary

This article describes the Exchange Resource Scheduling functionality. I realize I haven’t covered every single feature, but I have aimed at doing enough to give you the skills needed to continue developing your resource booking solution using Exchange 2007.

In general, with a little investigation and some color-coding in Outlook, you can create a decent resource booking system. Of course it is not as polished as some of the 3rd party systems, but then a lot of them are not that great!

Some improvements are necessary in the user-interface. For example, when you are adding custom resource properties you can't actually see them in Outlook unless you are modifying the Rooms address list. It should be possible to use the Exchange Web Services to create a custom front end for working with the ‘resource mailboxes’ that you create. Let’s hope someone does it soon.



This article has been viewed 35657 times.
Nathan Winters

Author profile: Nathan Winters

Nathan Winters is a Unified Communications Consultant for Dimension Data; a Microsoft Gold Partner on five continents whose clients include over 70% of the Global Fortune 100. Nathan has been working in I.T. for four years and specializes in Exchange, Active Directory and Virtualization. Recent work has included an Exchange 2007 design for several client and an OCS 2007 voice design including Enterprise Voice. Midway through 2006 Nathan founded the Microsoft Messaging and Mobility User Group UK which holds regular meetings in the UK to discuss topics related to Exchange. In April 2007 Nathan was awarded an MVP (Exchange Server) for his work with MMMUG and regular contributions to the Mark Minasi Forum. Nathan is a regular contributor to the MSExchange.org website and Nathan’s other articles have been published by Penton Media (Exchange and Outlook Administrator newsletter), Microsoft (TechNet Industry Insiders) and on the MMMUG website. For more of Nathan’s articles see the links below: http://www.mmmug.co.uk/files/default.aspx http://www.msexchange.org/nathan_winters http://www.windowsitpro.com/Authors/AuthorID/1651/1651.html You can contact Nathan at Nathan@clarinathan.co.uk or through his blog at http://www.mmmug.co.uk/blogs/nweb

Search for other articles by Nathan Winters

Rate this article:   Avg rating: from a total of 31 votes.


Poor

OK

Good

Great

Must read
 
Have Your Say
Do you have an opinion on this article? Then add your comment below:
You must be logged in to post to this forum

Click here to log in.


Subject: Resource Booking needs more referencial integrity.
Posted by: Alex Kuznetsov (view profile)
Posted on: Thursday, July 17, 2008 at 8:43 AM
Message: Recently I scheduled a meeting using this system. I reserved a conference room all right, the feature looked very cool. However, between the time I scheduled it and the time of the meeting, the conference room was converted into a personal office, and as such was removed from the list of available resources. Yet the reservation for a non-existent resource still remained, visible in Outlook to all the party invited to the meeting!

I know that foreign key constraints involving windows of valifity (validFrom, validTo) are complex, but they are doable.

Subject: Resource Booking alternative to Exchange Store
Posted by: pronestor (view profile)
Posted on: Monday, July 06, 2009 at 3:38 PM
Message: Using Exchange for room booking is not optimal - a few points to back it up is the lack of handling pre- and post time, booking room for just 2 hours of the meeting period, booking food services etc.
We have launched a S+S solution that solves some of the issues within resource booking in Exchange.
It does not require any changes or installation into Exchange - it requires installation of an add-in and thats it.
Take a look - any input is more than welcome.
http://www.pronestor.com

 





Free exchange ebook

Want a copy of the new Exchange 2010: A Practical Approach? Register now for our SysAdmin newsletter.
Upgrade Exchange 2003 to Exchange 2010 – Part II
 In Jaap's second article on upgrading straight from Exchange Server 2003 to 2010, he explains how to... Read more...

A Deep Dive into Transport Queues - Part 1
 Submission queues? Poison message queues? Johan Veldhuis unlocks the mysteries of MS Exchange's... Read more...

The Active Directory Recycle Bin in Windows Server 2008 R2
 It has always been a curse as well as a blessing that Active Directory has allowed the rapid removal... Read more...

Moving to Office Communications Server 2007 R2 -Part 2
 In the second part of his article on Moving to Office Communications Server 2007 R2, Desmond looks into... Read more...

An Introduction to Messaging Records Management
 There are a number of features in Exchange that can be used in creative ways to solve problems in... Read more...

Using Exchange 2007 for Resource Booking
 The process of booking various resources to go with a meeting room just got a whole lot easier with... Read more...

Managing Exchange 2007 Mailbox Quotas with Windows PowerShell
 The use of PowerShell with Exchange Server 2007 can do a great deal to ease the task of managing... Read more...

Goodbye Exchange ExMerge, Hello Export-Mailbox
 ExMerge was a great way of exporting a mailbox to an Exchange PST file, or for removing all occurences... Read more...

Controlling Email Messages using Exchange's Transport Rules
 Some tasks that should have been easy in previous versions of Exchange just weren't. Now, with... Read more...

Message Hygiene in Exchange Server 2007
 Around four out of every five email messages are spam. Now that the nuisance threatens to engulf what... Read more...

Over 150,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.

Join Simple Talk