For my example, I will try to illustrate the flexibility of the feature for a large corporation. Keep in mind that the same principles will apply to smaller companies with less offices.
Scenario
Our fictitious company has offices throughout the world. Spread out in 3-4 cities per country and in 10 countries as of now.
Countries
- United States
- Canada
- Japan
- France
- Italy
- China
- Poland
- Mexico
- Sweden
- Great Britain
North American![]() |
EMEA![]() |
ASIAPAC![]() |
The company has locations in major cities of each of these countries. From Chicago, to Paris, to Beijing, to Rome and Tokyo the company has around 30 offices. In each of these offices there are 10 Conference Rooms. Each of the rooms is assigned a capacity that (for this lab) has been randomized (1 – 20 participants).
Creating Room Lists
How do we go about creating the lists that we need for the end users to actually use for meetings. First, we need our Conference Rooms. In the case of my lab I simply created 10 rooms per OU using a CSV list of the cities (located under the /Rooms/ OU in Active Directory.
# Create individual rooms - import CSV of cities $cities = import-csv "c:\temp\Cities.csv" $counter = 1 Foreach ($line in $cities) { # Get RDN of OU $id = $line.cities $ou = Get-OrganizationalUnit $id $test = $(($ou.distinguishedname).split(","))[0] $roomlocation = $test.substring(3) While ($counter -lt 11) { $name = $roomlocation+$counter $random = get-random -minimum 0 -maximum 20 New-mailbox -Name $name -OrganizationalUnit $id -room -ResourceCapacity $random $counter++ } # end of the loop, reset the counter upon exiting $counter = 1 }
Once I had all the rooms created, now I needed to go through each OU and make a Distribution Group with the -Roomlist parameter to create the room lists. Each room list is based on OUs, including the larger OUs like EMEA, North America, and ASIAPAC.
# Create the actual room lists using OUs as a guide $countries = import-csv "c:\temp\locations.csv" Foreach ($line in $countries) { # Get RDN of OU $id = $line.OrgUnit $ou = Get-OrganizationalUnit $id $test = $(($ou.distinguishedname).split(","))[0] $location = $test.substring(3)+" Room List" $location New-DistributionGroup -Name $location -OrganizationalUnit "Rooms" -RoomList $toadd = get-mailbox -organizationalunit $id foreach ($line in $toadd) { Add-DistributionGroupMember -Identity $location -Member $line } }
An example of how the grouping looks physically:
Each region rolls up the same way City –> Country –> Region.
The key command in the last script is
New-DistributionGroup -Name $location -OrganizationalUnit “Rooms” -RoomList.
This command actually creates the group. Once the group is created I also add all the rooms under that OU and the SubOUs to the group (lines 12-14 above). These rooms will make up the rooms that an end-user sees in Outlook and OWA.
Using the Room Lists
In OWA, when you create a new meeting, there is an option to add a Room resource to the meeting request:
If the defaults are not what you are looking for (circled in Red), you can choose a new rooms list (circled in blue):
The new list will then appear:
Click on the list you need to search and a list of free rooms appear:
The same Room Selection can take place in the Scheduling assistant as well:
For a smaller company, you might group by building floor, type, or building. The concepts are still the same and in the end still provide the end-user with a better experience looking for a free resource in a particular location. You can just throw all your rooms into one list if the number of rooms is manageable.
Afterthoughts
The purpose of Dynamic Distribution Groups is to make the grouping of objects (in this case people) together easier and ‘dynamic’. What I find strange is that I can create a list of rooms via the distribution group command as discussed above, but I cannot make a dynamic list of rooms as well.
Another problem would be groupings across various regions. This would require specialized groupings [IT conference rooms in each region grouped into a group called “World Wide IT Conference Rooms”