Public/generated/Get-KriticalUtcmEXOPlace.ps1

# Kritical.PS.UTCM | Microsoft Graph UTCM REST API toolkit
# (c) 2026 Kritical Pty Ltd | https://kritical.net
# Kritical brand banner is rendered at module load via Write-KriticalUtcmBanner.

function Get-KriticalUtcmEXOPlace {
<#
.SYNOPSIS
    Kritical.UTCM shim for M365DSC resource EXOPlace.

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCEXOPlace -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmEXOPlace -Credential $cred -TenantId $tid
    with ZERO other edits. Parameter shape matches the M365DSC .schema.mof
    exactly. By default -PreferM365DscBehavior is true.

    Actual Graph dispatch is delegated to Invoke-KriticalUtcmM365DscSchemaBridge.
    Bridge maps resource → Graph endpoint per per-resource wave; where mapping
    is not yet shipped, bridge returns an object with Verdict='UNMAPPED'.

.NOTES
    Workload: Exchange
    Param count: 29
#>

[CmdletBinding()]
param(
        # The Identity parameter specifies the room mailbox that you want to modify. You can use any value that uniquely identifies the room.
[Parameter(Mandatory)] [string]$Identity,
        # The display name of the place.
[string]$DisplayName,
        # The AudioDeviceName parameter specifies the name of the audio device in the room. If the value contains spaces, enclose the value in quotation marks.
[string]$AudioDeviceName,
        # 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.
[string]$Building,
        # The Capacity parameter specifies the capacity of the room. A valid value is an integer.
[int]$Capacity,
        # The City parameter specifies the room's city. If the value contains spaces, enclose the value in quotation marks.
[string]$City,
        # The CountryOrRegion parameter specifies the room'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).
[string]$CountryOrRegion,
        # The DisplayDeviceName parameter specifies the name of the display device in the room. If the value contains spaces, enclose the value in quotation marks.
[string]$DisplayDeviceName,
        # The Floor parameter specifies the floor number that the room is on.
[string]$Floor,
        # The FloorLabel parameter specifies a descriptive label for the floor that the room is on. If the value contains spaces, enclose the value in quotation marks.
[string]$FloorLabel,
        # The GeoCoordinates parameter specifies the room's location in latitude, longitude and (optionally) altitude coordinates.
[string]$GeoCoordinates,
        # The IsWheelChairAccessible parameter specifies whether the room is wheelchair accessible.
[bool]$IsWheelChairAccessible,
        # The Label parameter specifies a descriptive label for the room (for example, a number or name). If the value contains spaces, enclose the value in quotation marks.
[string]$Label,
        # 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.
[bool]$MTREnabled,
        # The ParentId parameter specifies the ID of a Place in the parent location hierarchy in Microsoft Places.
[string]$ParentId,
        # The ParentType parameter specifies the parent type of the ParentId in Microsoft Places. Valid values are: Floor, Section
[ValidateSet('Floor','Section','None')] [string]$ParentType,
        # The Phone parameter specifies the room's telephone number.
[string]$Phone,
        # The PostalCode parameter specifies the room's postal code.
[string]$PostalCode,
        # The State parameter specifies the room's state or province.
[string]$State,
        # The Street parameter specifies the room's physical address.
[string]$Street,
        # The VideoDeviceName parameter specifies the name of the video device in the room. If the value contains spaces, enclose the value in quotation marks.
[string]$VideoDeviceName,
        # Specifies if this Outbound connector should exist.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # Credentials of the Exchange Global Admin
[string]$Credential,
        # Id of the Azure Active Directory application to authenticate with.
[string]$ApplicationId,
        # Id of the Azure Active Directory tenant used for authentication.
[string]$TenantId,
        # Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.
[string]$CertificateThumbprint,
        # Username can be made up to anything but password will be used for CertificatePassword
[string]$CertificatePassword,
        # Path to certificate used in service principal usually a PFX file.
[string]$CertificatePath,
        # Managed ID being used for authentication.
[bool]$ManagedIdentity
)
    Invoke-KriticalUtcmM365DscSchemaBridge -ResourceName 'EXOPlace' -Workload 'Exchange' -Verb 'Get' -CallerParams $PSBoundParameters
}