Initialize-Places
The Initialize-Places
cmdlet is a simplified, quick-create experience that can be used instead of the New-Place
, and Set-PlaceV3
cmdlets.
Initialize-Places parses existing rooms, and workspaces in your tenant, and infer building, floor, and section names. It lets you verify, edit this information, and then builds a full hierarchy of Buildings > Floors > Rooms and Workspaces in your tenant. This hierarchy is sometimes referred to as Places Directory.
This page provides details on the cmdlet syntax, and options. A step-by-step guide to use this cmdlet is provided in Configure buildings and floors.
Important
Important updates were made to the MicrosoftPlaces cmdlet module on November 14, 2024. If you joined the Preview program before that date, get the latest version of the module by running Run Install-Module -Name MicrosoftPlaces -Force
, then close and relaunch PowerShell.
Syntax
Running Initialize-Places
shows a list of options:
Initialize-Places
Please choose the desired option before continuing:
1. Export suggested mapping CSV of rooms to buildings/floors.
2. Import mapping CSV to automatically create buildings/floors and room mappings.
3. Export PowerShell script with commands to manually create buildings/floors and room mappings based on an imported CSV.
Caution
You might find additional parameters in the PowerShell cmdlet, but those are not currently supported. It is not recommended to use any parameter that is not documented on this page.
Option 1
This option parses rooms, and workspaces configured in your tenant, and generates a CSV file named ResourceAccountsMapped.csv. This CSV file contains other data such as building, floor, and section names, which are inferred from the rooms, workplace, and RoomList data.
The CSV file only includes rooms, and workspaces found in Exchange Online that are associated with a RoomList, and aren't yet parented to a floor or section in Places Directory.
For example:
Places not associated with any RoomList aren't included in the CSV. These rooms aren't visible in Room finder, and are excluded by default to ensure they don't appear in Places Finder unless you later add them manually.
Places associated with two or more RoomList are included. However, the inferred building name is left blank. You need to write in the correct building name.
Places already parented to a floor, or a section aren't included in the CSV. You can run the script iteratively when new rooms and workspaces are added in Exchange Online, and the output CSV file should only include the new rooms and workspaces.
For guidance on how to export other rooms, and workspaces, see Configure buildings and floors, manual setup.
Option 2
Once the room, and workspace information generated by Option 1 is validated, you should remove unnecessary columns as descripted in Configure buildings and floors and save it as a new CSV file. You're now ready to write this information back into your Places Directory using Option 2.
Any new building, floor, or section found in the CSV file are added to your Places Directory, and new rooms and workplaces are parented to floors/sections.
You can break down the work by building, city, or any other criteria. This approach allows you to iteratively upload smaller CSV files that contain a subset of rooms and workplaces you want to add to your Places Directory. Every time you upload a new CSV file, buildings, floors, and sections that aren't yet in your Places Directory are added to the hierarchy.
After you upload the CSV file, a file named fileToImport-ImportResults.csv is generated, and saved into the same folder. This file documents whether any issues were encountered during the upload. At this stage, a full hierarchy of spatial data becomes available to be used by Microsoft Places in your tenant.
Uploading a CSV file results in Buildings names becoming visible in the Microsoft 365 experience. Practically, this means that users can see, and choose these buildings in
Work plans (that is Outlook working hours, and location)
Workplace presence
other experiences as described in Microsoft Places overview.
Important
Make sure each building, floor, and sections are spelled the exact same way in the CSV file, and across CSV files if you upload them iteratively. Differences result in additional buildings, floors or sections being created.
Option 3
This advanced option allows you to review the PowerShell script which configures your Places Directory before executing it. With this option, the PowerShell script is downloaded to your computer but isn't executed. Option 3 can be useful if you need to separate administrative tasks between multiple people.
The PowerShell script is called PlacesOnboardingScript.ps1 and is saved in the same folder as the uploaded CSV file. You need to manually execute the PowerShell script to configure your Places Directory.
Note
The cmdlet description improperly uses the term "import" for Option 3, but this option doesn't create anything in your Places Directory. It only generates the script which you need to execute manually.
File formats
File format of the exported file (Option 1)
Column name | Description |
---|---|
InferredBuildingName | Microsoft Places attempts to infer (suggest) what it believes is the building name for this room/workspace, based on the room/workspaces's building property, and the associated room list. This column should be reviewed & updated with the correct value before importing (Option 2 or 3). |
InferredFloorName | Microsoft Places attempts to infer (suggest) what it believes is the floor name for this room/workspace, based on the room/workspaces's floorLabel property, and the associated room list. This column should be reviewed & updated with the correct value before importing (Option 2 or 3). |
InferredSectionName | Microsoft Places suggests the floor name (InferredFloorName) as the section name for workspaces, and leaves it as blank for rooms. This column should be reviewed & updated with the correct value before importing (Option 2 or 3) |
CurrentBuildingLabel | The current string value of building set on the room or workspace's metadata |
CurrentFloorNumber | The current integer value of floor set on the room or workspace's metadata |
CurrentFloorLabel | The current string value of floorLabel set on the room or workspace's metadata |
PrimarySmtpAddress | The smtp address of the room or workspace |
Name | The display name of the room/workspace |
RoomList | The associated room list of the rooms/workspaces |
ResourceType | Defines if the resource is a Room or a Space (workspace) |
StreetAddress | The street address of the room/workspace |
City | The city of the room/workspace |
StateOrProvince | The state/province of the room/workspace |
CountryOrRegion | The country/region of the room/workspace |
Confidence | The confidence level in the inferred building name, and inferred floor name |
File format required for import (Option 2, and 3)
The imported file must have only the following four columns:
Column name | Description |
---|---|
InferredBuildingName | (required) This name is used when creating the building |
InferredFloorName | (required) This name is used when creating the floor. |
InferredSectionName | This name is used when creating the section (a zone or neighborhood on the floor). This name is required for workspaces but is optional for rooms. |
PrimarySmtpAddress | (required) The smtp address of the room or workspace |