Public/generated/Get-KriticalUtcmTeamsMobilityPolicy.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-KriticalUtcmTeamsMobilityPolicy {
<#
.SYNOPSIS
    Kritical.UTCM shim for M365DSC resource TeamsMobilityPolicy.

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCTeamsMobilityPolicy -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmTeamsMobilityPolicy -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: Teams
    Param count: 14
#>

[CmdletBinding()]
param(
        # Specify the name of the Teams Mobility Policy.
[Parameter(Mandatory)] [string]$Identity,
        # Enables administrators to provide explanatory text about the policy. For example, the Description might indicate the users the policy should be assigned to.
[string]$Description,
        # When set to WifiOnly, prohibits the user from making and receiving calls or joining meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks.
[ValidateSet('WifiOnly','AllNetworks')] [string]$IPAudioMobileMode,
        # When set to WifiOnly, prohibits the user from making and receiving video calls or enabling video in meetings using VoIP calls on the mobile device while on a cellular data connection. Possible values are: WifiOnly, AllNetworks.
[ValidateSet('WifiOnly','AllNetworks')] [string]$IPVideoMobileMode,
        # Controls the availability of browser choice options in Teams Mobile. When set to OfferBrowserOptions, users get two browser choice experiences: (1) browser options in the Teams Mobile settings page for configuring default preferences, and (2) browser options in the upsell card when tapping links. When set to UseUserDefaults, links open using the user's system default browser settings. Possible values are: OfferBrowserOptions, UseUserDefaults.
[ValidateSet('OfferBrowserOptions','UseSystemDefaults')] [string]$LinksInTeams,
        # Determines the mobile dialer preference, possible values are: Teams, Native, UserOverride.
[ValidateSet('Teams','Native','UserOverride')] [string]$MobileDialerPreference,
        # Present ensures the instance exists, absent ensures it is removed.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # Credentials of the workload's 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 'TeamsMobilityPolicy' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}