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

.DESCRIPTION

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

[CmdletBinding()]
param(
        # Display Name of the Team
[Parameter(Mandatory)] [string]$DisplayName,
        # Description of Team.
[string]$Description,
        # Team group ID, only used to target a Team when duplicated display names occurs.
[string]$GroupID,
        # MailNickName of O365 Group associated with Team
[string]$MailNickName,
        # Visibility of the Team
[ValidateSet('Public','Private','HiddenMembership')] [string]$Visibility,
        # Allow add or remove apps from the Team.
[bool]$AllowAddRemoveApps,
        # Allow giphy in Team.
[bool]$AllowGiphy,
        # Giphy content rating of the Team.
[ValidateSet('Strict','Moderate')] [string]$GiphyContentRating,
        # Allow stickers and mimes in the Team.
[bool]$AllowStickersAndMemes,
        # Allow custom memes in Team.
[bool]$AllowCustomMemes,
        # Allow members to edit messages within Team.
[bool]$AllowUserEditMessages,
        # Allow members to delete messages within Team.
[bool]$AllowUserDeleteMessages,
        # Allow owners to delete messages within Team.
[bool]$AllowOwnerDeleteMessages,
        # Allow members to delete channels within Team.
[bool]$AllowDeleteChannels,
        # Determines whether private channel creation is allowed for the team.
[bool]$AllowCreatePrivateChannels,
        # Allow members to manage connectors within Team.
[bool]$AllowCreateUpdateRemoveConnectors,
        # Allow members to manage tabs within Team.
[bool]$AllowCreateUpdateRemoveTabs,
        # Allow mentions in Team.
[bool]$AllowTeamMentions,
        # Allow channel mention in Team.
[bool]$AllowChannelMentions,
        # Allow guests to create and update channels in Team.
[bool]$AllowGuestCreateUpdateChannels,
        # Allow guests to delete channel in Team.
[bool]$AllowGuestDeleteChannels,
        # Allow members to create and update channels within Team.
[bool]$AllowCreateUpdateChannels,
        # determines whether or not private teams should be searchable from Teams clients for users who do not belong to that team. Set to $false to make those teams not discoverable from Teams clients.
[bool]$ShowInTeamsSearchAndSuggestions,
        # Present ensures the Team exists, absent ensures it is removed.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # 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 'TeamsTeam' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}