I’ve been playing around a bit recently with Microsoft Places configuration. I’ve found viewing the Places configuration in PowerShell to be a bit cumbersome. The configuration has a degree of hierarchy built into it and when you list it up in PowerShell as objects, and you are required to match all the ParentIds yourself, it's quite painful. To try and help with this, I created a little PowerShell script that allows you to view your PlacesV3 config in a clearer tree format.
Microsoft Places Viewer
Microsoft Places Viewer is simple to use tool for viewing your Microsoft Places configuration. It allows you to connect and list the current Microsoft Places data and display it in a hierarchical tree format:
If there are rooms or spaces that don’t have parents associated with them, the tool will display them under the "Orphaned Items" tree node. This allows you to easily troubleshoot the rooms and spaces that are not configured correctly in your tenancy. When you click on any of the nodes on the tree the properties for that object will be displayed on the right hand side of the screen. This allows you to easily check your configuration for each object.
Version 1.00 – Initial Release.
Version 2.00 – Editing Capabilities Added.
- Create Buildings, Floors, Sections, and Desks via right-click in the object tree or the dropdown menu using the "Create New" button.
- Delete Buildings, Floors, Sections, and Desks by right-clicking on an object in the tree.
- Edit attributes of Buildings, Floors, Sections, and Desks using the "Edit Value" button for editable fields. If you want to know what the attributes do, check out this blog post: https://www.myteamslab.com/2025/03/microsoft-place-settings.html
- View and manage Individual Desks (in addition to Workspace/Space objects).
- Individual Desks are now displayed in grey, and Desk Pools (Workspaces) appear in blue for easier differentiation.
How to Run the Tool
The tool runs on top of PowerShell 7, which is also a
prerequisite for the Microsoft Places PowerShell module. To install the Places
PowerShell module, do the following:
Note: If you don't have PowerShell 7 installed you will need to do this first. Get it here: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows
Step 1: If you don’t already have the Microsoft
Places PowerShell Module installed, do the following:
Run PowerShell 7 as Administrator (Right Click on the App > Select "Run as administrator"):
Step 2: Run the following PowerShell command to
install the Microsoft Places PowerShell module:
Install-Module -Name
MicrosoftPlaces -Force
Step 3: Download a copy of the Microsoft Places Viewer tool from Github. Before running the script you may need to
“Unblock” it in the Windows file properties. To do this, right click on the
file and open the Properties window. In the General tab there is a Check Box
marked as “Unblock”. You need to check this box:
Step 4: Run the script in the PowerShell 7 window:
Note: You can’t use the Right Click and Run with PowerShell option as this will likely execute it using PowerShell 5, which is not supported.
Change directory to the directory containing the script (change the path to the folder where the script is on your PC):
cd "C:\Users\Name\Documents\CoolScripts"
Run the script. You should see the Microsoft Places Viewer GUI appear:
.\MicrsosoftPlacesViewer-1.00.ps1
Step 5: Click the Connect button:
A browser window will now pop up asking for credentials. Enter the credentials for your M365 tenancy in the browser window and sign in:
Step 6: Click the Get Data button:
Individual Desks vs Desk Pools (Workspace/Space)
Exchange PowerShell and Places PowerShell both include a
"Desk" object, which represents an individual desk designed for one
person. This differs from workspaces or spaces, which are configured to
represent multiple desks based on a specified capacity.
Note: Microsoft use a confusing variety of
words to describe these things which take some getting used to. Workspaces
which contain multiple desks can be
described as workspaces, spaces, or desk pools.
Individual Desk Creation
Individual Desks are created in Exchange as a resource
account with the Type “Desk”. Here is an example of the configuration:
Add a Desk:
New-Mailbox -Room -Alias Desk5 -Name "Desk5" |
Set-Mailbox -Type Desk
To integrate an Exchange Desk account with Places, create a
Desk object within the Places configuration. You can use the Microsoft Places
Viewer tool to accomplish this with the following steps:
Select Desk as the type of object to create and click the
Create New button.
After clicking "Create New," a dialog box will
appear for you to complete. To link the Places configuration to the Exchange
configuration, enter the Desk resource account's email address in the
"Mailbox Email Address" field.
After completing these steps, the Individual Desk will appear in the Exchange version of the Places Finder. While it is expected to show up in the Teams App Places Finder in the future, this feature is not yet available.
Currently, in the Outlook Places Finder, an Individual Desk
looks like this:
1. Open your calendar and select the location icon.
2. The Places Card will be displayed.
3. Click the “Book Now” link button to proceed.
The Outlook Desk booking interface will appear (note that this is different from the Places Desk Finder):
You may need to select "Browse more on Places Finder," which will display additional available Desk locations, including both Individual Desks and Desk Pools (Workspaces).
Desk Pools (Workspace/Space) Creation
For Desk Pools (also known as Workspaces or Spaces), the
object created in Exchange is of the "Workspace" type. The
"Enforce Capacity" flag must be set to true on the account. Below is
an example of the configuration:
New-Mailbox -Room -Alias Deskpool06 -Name "Desk Pool
6" | Set-Mailbox -Type Workspace
Set-CalendarProcessing -Identity Deskpool06 -EnforceCapacity
$True
After some time (usually a few hours), the workspace object
from Exchange will appear in the Places configuration. In the Microsoft Places
Viewer tool, it will be listed as a Desk Pool (Space) object under the Orphaned
Items tree section. To enable users to utilize the Desk Pool in Places, a
ParentId must be assigned to it in Microsoft Places.
At this point, you can use the Microsoft Places Viewer tool to configure the Capacity and ParentId for the Desk Pool. Follow these steps to set the Capacity on the Desk Pool:
Enter the number of people that the space will support:
Now that the Desk Pool will have the ParentId and will move
underneath the Section that you selected:
After this is done, the Desk Pool will start showing up in the Microsoft Places Desk Finder.
The Wrap Up
I hope you’ve enjoyed your stay at this place, reading about places and how to better place yourself for success within the Places ecosystem. May the place be with you in every place you go. 🖖