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

.DESCRIPTION

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

[CmdletBinding()]
param(
        # Specifies the policy instance name
[Parameter(Mandatory)] [string]$Identity,
        # Indicates if file sharing in chats with external users is enabled. It is by default enabled, to disable admins can run following command.
[ValidateSet('Enabled','Disabled')] [string]$FileSharingInChatswithExternalUsers,
        # Specifies whether users see the options to upload files from OneDrive for Business, other cloud storage services configured for the user account, and SharePoint Online
[ValidateSet('Enabled','Disabled')] [string]$NativeFileEntryPoints,
        # Specifies whether users see the Teams Files channel tab in any channel or in Teams chat.
[ValidateSet('Enabled','Disabled')] [string]$SPChannelFilesTab,
        # This can be used by the 3p apps to configure their app, so when the files will be dragged and dropped in compose, it will get uploaded in that 3P app.
[string]$DefaultFileUploadAppId,
        # 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 'TeamsFilesPolicy' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}