In the standard configuration users can select “Office” for work locations in Outlook. Outlook now shows in the calendar which colleagues are also at the work location on a particular day. The Office standard configuration can become confusing again with the “Office” entry if many people use the feature.
Exchange administrators can use Microsoft Places to define new work locations and floors. Outlook shows which people are at each work location. This reduces the number of people compared to “Office”.
The Outlook calendar itself does not yet use floors for work locations. Floors are relevant for the Microsoft Places app. Microsoft Places was unveiled in October 2022 and has been in public preview since May 2024.
- Exchange administrators need the Microsoft Places PowerShell module for configuration. This is still an alpha version.
- The objects in Microsoft Places consist of one building, several floors per building and several meeting rooms or work desks per floor. The objects are linked together using PowerShell.
Install the Microsoft Places module with PowerShell 7.
Install-Module –Name MicrosoftPlaces –AllowPrerelease -Force
Microsoft provides two options for configuring work locations and floors.
- A wizard provides support in PowerShell with an export of the currently configured resources. In the next step, the wizard supports the creation of a work location + floors and the linking with existing resources. Microsoft guides you through the steps for existing resources in the instructions.
- Without the wizard, an Exchange administrator links the objects independently with PowerShell.
In my opinion, the wizard from option 1 is not required. It works very well without the wizard.
Microsoft mentions it for manual creation as follows.
You create a building with PowerShell, then a floor at the location (it is linked to the building), in the third step an existing meeting room or work desk which is linked to the floor. If you have several locations / floors, repeat the steps. For work locations in Outlook, you could also just create the buildings for the time being. The additional objects are required later for the Microsoft Places app.
The Microsoft Places module includes 21 commands in the current version (0.40). Individual commands are described in the documentation.
With New-Place you create new buildings and floors.
Tip, try to keep the name of a building short. Outlook will not display long names in full and will abbreviate them.
I create four new locations. The parameters Type and Name are required, the others are optional.
Connect-MicrosoftPlaces
# Create new buildings
$BuildingCHBern1 = New-Place -Type Building -Name "BE-Ostring" -City "Bern" -PostalCode 3006 -CountryOrRegion "CH"
$BuildingCHBern2 = New-Place -Type Building -Name "BE-Schwarztorstrasse" -City "Bern" -PostalCode 3007 -CountryOrRegion "CH"
$BuildingCHBiel = New-Place -Type Building -Name "BE-Biel" -City "Biel" -PostalCode 2503 -CountryOrRegion "CH"
$BuildingCHZurich = New-Place -Type Building -Name "ZH-Leutschenbach" -City "Zurich" -PostalCode 8052 -CountryOrRegion "CH"
After a few minutes, the buildings can be selected as work locations in Outlook. Please note that caching may cause a slight delay. On the web it will be up to date in a very short time.
Link to floor and meeting room.
The floor must be created and linked to a building, then a meeting room must be linked to a floor.
Creation of floors, also via New-Place.
# Create new floors in a building
$FloorBE_Ostring_0 = New-Place -Type Floor -Name "Lobby" -ParentId $BuildingCHBern1.PlaceId -SortOrder 0
$FloorBE_Ostring_1 = New-Place -Type Floor -Name "1" -ParentId $BuildingCHBern1.PlaceId -SortOrder 1
$FloorZH_Leutschenbach_0 = New-Place -Type Floor -Name "Lobby" -ParentId $BuildingCHZurich.PlaceId -SortOrder 0
$FloorZH_Leutschenbach_1 = New-Place -Type Floor -Name "1" -ParentId $BuildingCHZurich.PlaceId -SortOrder 1
Link meeting room with a floor, with Set-PlaceV3.
This must be an existing meeting room. The identity is the mail address of the Exchange Room resource.
# Connect meeting room with a floor
$MeetingRoomBE1 = Set-PlaceV3 -Identity "[email protected]" -ParentId $FloorBE_Ostring_1.PlaceId
$MeetingRoomBE2 = Set-PlaceV3 -Identity "[email protected]" -ParentId $FloorBE_Ostring_1.PlaceId
With Get-PlaceV3, PowerShell lists what places are in the tenant. The ParentId shows how the places are linked to each other.
If you have made a mistake, Set-PlaceV3 and Remove-Place can help.
With Remove-Place you cannot delete a building if there are still floors linked.
# Delete a floor and the building
Remove-Place -Identity $BuildingCHBiel.PlaceId
Remove-Place -Identity $FloorZH_Leutschenbach_1.PlaceId
Remove-Place -Identity $FloorZH_Leutschenbach_0.PlaceId
Remove-Place -Identity $BuildingCHZurich.PlaceId
Outlook changes the location back to the original value Office if an account has selected the deleted location in Outlook as the work location.