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

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCTeamsUserPolicyAssignment -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmTeamsUserPolicyAssignment -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: 30
#>

[CmdletBinding()]
param(
        # User Principal Name of the user representing the policy assignments.
[Parameter(Mandatory)] [string]$User,
        # Name of the Calling Line Policy.
[string]$CallingLineIdentity,
        # Name of the External Access Policy.
[string]$ExternalAccessPolicy,
        # Name of the Online Voicemail Policy.
[string]$OnlineVoicemailPolicy,
        # Name of the Online VOice Routing Policy.
[string]$OnlineVoiceRoutingPolicy,
        # Name of the Teams App Permission Policy.
[string]$TeamsAppPermissionPolicy,
        # Name of the Teams App Setup Policy.
[string]$TeamsAppSetupPolicy,
        # Name of the Teams Audio Conferencing Policy.
[string]$TeamsAudioConferencingPolicy,
        # Name of the Teams Call Hold Policy.
[string]$TeamsCallHoldPolicy,
        # Name of the Teams Calling Policy.
[string]$TeamsCallingPolicy,
        # Name of the Teams Call Park Policy.
[string]$TeamsCallParkPolicy,
        # Name of the Teams Channel Policy.
[string]$TeamsChannelsPolicy,
        # Name of the Teams Emergency Calling Policy.
[string]$TeamsEmergencyCallingPolicy,
        # Name of the Teams Emergency Call Routing Policy.
[string]$TeamsEmergencyCallRoutingPolicy,
        # Name of the Teams Enhanced Encryption Policy.
[string]$TeamsEnhancedEncryptionPolicy,
        # Name of the Teams Events Policy.
[string]$TeamsEventsPolicy,
        # Name of the Teams Meeting Broadcast Policy.
[string]$TeamsMeetingBroadcastPolicy,
        # Name of the Teams Meeting Policy.
[string]$TeamsMeetingPolicy,
        # Name of the Teams Messaging Policy.
[string]$TeamsMessagingPolicy,
        # Name of the Teams Mobility Policy.
[string]$TeamsMobilityPolicy,
        # Name of the Teams Update Management Policy.
[string]$TeamsUpdateManagementPolicy,
        # Name of the Teams Upgrade Policy.
[string]$TeamsUpgradePolicy,
        # Name of the Tenant Dial Plan Policy.
[string]$TenantDialPlan,
        # Credentials of the Teams 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 'TeamsUserPolicyAssignment' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}