Set-PlaceV3

Use the Set-PlaceV3 cmdlet to update metadata about your rooms, workspaces, floors, or buildings within your Places directory.

Note

  • Updates to conference rooms & workspaces can take up to 24 hours to reflect. If you need to onboard multiple rooms and workspaces, we recommend using Initialize-Places, which is able to force the changes to reflect immediately.
  • The Set-UserPhoto was deprecated in April 2024. We're working on adding a parameter to this cmdlet to set a photo on rooms and workspaces when using Set-PlaceV3. In the meantime, follow these instructions to set the photo on a room or workspace.

Syntax

Building

Set-PlaceV3
 [-Identity]
 [-DisplayName]
 [-Label]
 [-IsWheelChairAccessible]
 [-GeoCoordinates]
 [-Phone]
 [-Street]
 [-City]
 [-State]
 [-PostalCode]
 [-CountryOrRegion]
 [-ResourceLinks]
 [-Tags]

Floor

Set-PlaceV3
 [-Identity]
 [-DisplayName]
 [-ParentId]
 [-Label]
 [-SortOrder]
 [-Tags]

Section

A section is a grouping of spaces within a floor, for example, a neighborhood. Desks and workspaces are required to be parented to a section. Rooms can also optionally be parented to a section or they can be directly parented to a floor.

Set-PlaceV3
 [-Identity]
 [-DisplayName]
 [-ParentId]
 [-Label]
 [-Tags]

Desk

Desks are a new entity type in Places, which represent individual desks. These objects can be either bookable or non-bookable (default).

To make a desk bookable, you are required to create a Desk mailbox and associate it with the desk object by passing the mailbox Alias to the Mailbox parameter of Set-PlaceV3. Please note that unlike the Room/Workspace types, desks are not implicitly provisioned by creating the mailbox alone. Also, the metadata (such as the Capacity or DisplayName fields) is not kept in sync with mailbox metadata. Mailbox is primarily required for the reservation engine only and metadata will be read from Places Directory.

Set-PlaceV3
 [-Identity]
 [-DisplayName]
 [-ParentId]
 [-Label]
 [-IsWheelChairAccessible]
 [-AudioDeviceName]
 [-DisplayDeviceName]
 [-VideoDeviceName]
 [-MTREnabled]
 [-Name]
 [-Tags]
 [-Mailbox]

Room or Workspace

Set-PlaceV3 supports legacy location parameters already exposed in Exchange Set-Place cmdlet. However, once a room is linked to a floor/building using the -ParentId parameter, location information (Street, City, etc.) should be managed on the Building rather than on the room or workspace.

Set-PlaceV3
 [-Identity]
 [-DisplayName]
 [-ParentId]
 [-Label]
 [-Capacity]
 [-IsWheelChairAccessible]
 [-AudioDeviceName]
 [-DisplayDeviceName]
 [-VideoDeviceName]
 [-MTREnabled]
 [-GeoCoordinates]
 [-Phone]
 [-Street]
 [-City]
 [-State]
 [-PostalCode]
 [-CountryOrRegion]
 [-Building]
 [-Floor]
 [-FloorLabel]
 [-Tags]

Description

Places depends on a fully set up hierarchy among your rooms/workspaces, floors, and buildings. Once buildings and floors are created, you can link them using parentId. A room should have a parent floor or section. A workspace or desk should have a parent section. A section should have a parent floor. A floor should have a parent building.

You need to be assigned permissions before you can run this cmdlet. You must have either the Exchange Admin role or the Places TenantPlacesManagement role.

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.

Examples

Example 1

This example sets up the directory hierarchy for a room, floor, and building.

In this example, the floor's PlaceId is f12172b6-195d-4e6e-8f4f-eb72e41de99a, and the building's PlaceId is daa2f89b-75c4-4eb7-adcc-ff249233338d.

Set-PlaceV3 -Identity 'room@contoso.com' -ParentId f12172b6-195d-4e6e-8f4f-eb72e41de99a
Set-PlaceV3 -Identity f12172b6-195d-4e6e-8f4f-eb72e41de99a -ParentId daa2f89b-75c4-4eb7-adcc-ff249233338d

Example 2

This example updates a building's address.

Set-PlaceV3 -Identity f12172b6-195d-4e6e-8f4f-eb72e41de99a -CountryOrRegion US -State WA -City Redmond -Street 'Street 3' -PostalCode 98052

Example 3

This example updates a building's geocoordinates.

Set-PlaceV3 -Identity f12172b6-195d-4e6e-8f4f-eb72e41de99a -GeoCoordinates "47.644125;-122.122411"

Example 4

This example updates the resource links for a building with resource links. The entire set is replaced on update. To add or remove a value, be sure to include previous values that should be persisted.

Set-PlaceV3 -Identity f12172b6-195d-4e6e-8f4f-eb72e41de99a -ResourceLinks @{name="TestLink";value="https://contoso.com/";type="Url"}

Example 5

This example creates a desk mailbox and assigns it to an existing desk entity. Please note that you need to have installed ExchangeOnlineManagement module and ran the Connect-ExchangeOnline cmdlet before running the following:

$mbx = New-Mailbox -Room <DeskMailboxName>
Set-Mailbox $mbx.Identity -Type Desk -HiddenFromAddressListsEnabled $true
Set-PlaceV3 {DeskId} -Mailbox $mbx.Alias

Parameters

-Identity

The identity parameter specifies the place that you want to update. You can use any value that uniquely identifies a place.

For example, for places based on a mailbox (conference rooms and workspaces):

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Email address
  • GUID

For example, for places that aren't based on a mailbox (buildings, floors, sections and desks):

  • Name
  • GUID
Attribute Description
Type: RecipientIdParameter
Position: 0
Default value: None
Required: False
Accept pipeline input: True
Accept wildcard characters: False

-AudioDeviceName, -DisplayDeviceName, and VideoDeviceName

These parameters specify the name of the audio, display and video devices in the room. If the value contains spaces, enclose the value in quotation marks (").

The default value is blank ($null). To indicate that this room has no audio, display or video device, use the value $null for the parameter.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Building

Important

Building parameter is deprecated and provided here for backward compatibility only. Building information will be read from the Building entity that's on the parent chain of the room or workspace.

The Building parameter specifies the building name or building number that the room is in. If the value contains spaces, enclose the value in quotation marks (").

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Capacity

The Capacity parameter specifies the capacity of the room. A valid value is an integer.

Attribute Description
Type: System.Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-City

The City parameter specifies the building's city. If the value contains spaces, enclose the value in quotation marks ("). The maximum length is 200 characters.

We recommend managing the location data on the Building rather than the Room/Workspace. There's a hierarchy between rooms -> floors -> buildings, and rooms inherit the location attributes of their Building.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-CountryOrRegion

The CountryOrRegion parameter specifies the building's country or region. A valid value is a valid ISO 3166-1 two-letter country code (for example, AU for Australia) or the corresponding friendly name for the country (which might be different from the official ISO 3166 Maintenance Agency short name).

A reference for two-letter country codes is available at Country Codes List.

We recommend managing the location data on the Building rather than the Room/Workspace. There's a hierarchy between rooms -> floors -> buildings, and rooms inherit the location attributes of their Building.

Attribute Description
Type: CountryInfo
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Label

The Label parameter specifies a descriptive label for the place. If the value contains spaces, enclose the value in quotation marks ("). The maximum length is 200 characters.

For rooms and workspaces, the command updates the value named -Label in Exchange Set-Place.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: True
Accept wildcard characters: False

-DisplayDeviceName

The DisplayDeviceName parameter specifies the name of the display device in the room. If the value contains spaces, enclose the value in quotation marks (").

The default value is blank ($null). To indicate that this room has no display device, use the value $null for this parameter.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-FloorLabel

The FloorLabel parameter specifies a descriptive label for the floor. If the value contains spaces, enclose the value in quotation marks (").

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Floor

The Floor parameter specifies the sort order of the floor within a particular building.

Attribute Description
Type: System.Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-GeoCoordinates

The GeoCoordinates parameter specifies the building's location in latitude, longitude, and (optionally) altitude coordinates. A valid value for this parameter uses one of the following formats:

  • Latitude and longitude: For example, "47.644125;-122.122411"
  • Latitude, longitude, and altitude: For example, "47.644125;-122.122411;161.432"

If period separators don't work for you, use commas instead.

We recommend managing the location data on the Building rather than the Room/Workspace. There's a hierarchy between rooms -> floors -> buildings, and room's will inherit the location attributes of their Building.

Attribute Description
Type: GeoCoordinates
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-IsWheelChairAccessible

The IsWheelChairAccessible parameter specifies whether the place is wheelchair accessible. Valid values are:

  • $true: The place is wheelchair accessible.
  • $false: The place isn't wheelchair accessible. This is the default value.
Attribute Description
Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-MTREnabled

Note

Currently, this parameter is informational only and results in no additional functionality.

The MTREnabled parameter identifies the room as configured with a Microsoft Teams room system. You can add Teams room systems as audio sources in Teams meetings that involve the room. Valid values are:

  • $true: The room has a Teams room system. You can add the Teams room system to Microsoft Teams meetings when selecting to join a meeting with room audio.
  • $false: The room doesn't have a Teams room system. Users can join Teams meetings using their PC or mobile device audio instead of using room audio. This is the default value.

For more information about Microsoft Teams Rooms, see Microsoft Teams Rooms.

Attribute Description
Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-DisplayName

The DisplayName parameter specifies the display name of the place. The maximum length is 200 characters. Set-PlaceV3 can only update the name of places that don't have an associated SMTP address, such as buildings and floors. To update the display name of a place that has an associated SMTP address such as conference rooms and workspaces, use the Exchange Set-Mailbox cmdlet.

Attribute Description
Type: String
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-ParentId

The ParentId parameter specifies the ID of a Place in the parent location hierarchy in Microsoft Places. A room should have a parent floor or section. A workspace or desk should have a parent section. A section should have a parent floor. A floor should have a parent building.

Note

If you need backward compatibility with Outlook Roomfinder, please make sure to also update the "Floor"/"FloorLabel" properties, in parallel with parenting the room to the floor entity. Places Finder will use the new hierarchy while Outlook Roomfinder will cotinue to use the legacy "Floor" and "FloorLabel" objects. You will also need to make sure the room is associated with a Roomlist, as documented here Configure rooms and workspaces for Room Finder in Outlook.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PostalCode

The PostalCode parameter specifies the building's postal code.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

The ResourceLinks parameter specifies external links or Teams app IDs that should be associated to this building, such as a dining menu, a link to services or a Teams app for visitor management. For more information on how to set up services in Places, see Services in Places.

The value must be provided as an array of links, as shown in Example 4. Each link should contain the following properties: Name, Value, and Type. For example, a link would be written as @{name="TestLink"; value="https://contoso.com/"; type="Url"}.

  • Name

    • This string is used to show how your link or app name is displayed in the Places app.

    • The maximum length is 200 characters.

  • Value

    • This value should be either a url link or a Teams app ID. Teams app IDs can be found in the App Details page of the app in the Manage apps page in Teams admin center.

    • The maximum length is 1,000 characters.

  • Type must be one of the supported types:

    • Url - indicates that this is a url link.

    • MetaOsApp - indicates that this link is a Teams app.

Note

The entire set will be replaced on update. To add or remove a value, be sure to include previous values that should be persisted.

Attribute Description
Type: Link[]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-SortOrder

The SortOrder parameter specifies the sort order of the floor. For example, a floor might be named "Lobby" with a sort order of 0 to show this floor first in ordered lists.

Attribute Description
Type: System.Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-State

The State parameter specifies the building's state or province. The maximum length is 200 characters.

We recommend managing the location data on the Building rather than the Room/Workspace. There's a hierarchy between rooms -> floors -> buildings, and room inherits the location attributes of their Building.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Street

The Street parameter specifies the building's physical address. The maximum length is 200 characters.

We recommend managing the location data on the Building rather than the Room/Workspace. There's a hierarchy between rooms -> floors -> buildings, and rooms inherit the location attributes of their Building.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Tags

The Tags parameter specifies additional features of the room (for example, details like the type of view or furniture type). There's no maximum length currently.

You can specify multiple labels separated by commas. If the labels contains spaces, enclose the values in quotation marks: "Label 1","Label 2",..."Label N".

Note

The entire set will be replaced on update. To add or remove a value, be sure to include previous values that should be persisted.

Attribute Description
Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

Troubleshooting

I am receiving a permissions denied error.

Set-PlaceV3 requires one of the following roles: TenantPlacesManagement, GlobalAdmin, or MailRecepients. Because roles can be assigned in different ways, the following are the supported ways to assign role permissions:

  • If the permission is assigned through Exchange Admin Center (which only supports permanent permissions), you should have no issues with using the Places cmdlets. It would not be expected for you to see a Permission Denied error.
  • If the permission is assigned through Entra directly to the user (as a permanent or a temporary role), you should have no issues with using the Places cmdlets. It would not be expected for you to see a Permission Denied error. However, there might be some delay in the sync between Entra and Exchange.
  • If the permission is assigned through Entra to a group in Entra, which the user is a part of, this is not supported by Exchange and the role-through-group will not be respected. Exchange cmdlets and Places cmdlets will both fail with permission denied. This expected behavior is described here.

I assigned a ParentId to a resource, but I do not see it yet in Places Finder.

It can take up to 24 hours for the correlation between the resource and its parent Floor to appear in Places experiences. We're working on eliminating this delay.

How do I set a photo on a resource?

The Set-UserPhoto was deprecated in April 2024. We are working on adding a parameter to this cmdlet to set a photo on rooms and workspaces when using Set-PlaceV3. In the meantime, please follow these instructions set the photo on a room or workspace.

It is not currently possible to set photos on a building or on a floor.