Public/generated/Get-KritTcmTeamsMessagingPolicy.ps1

<#
·· × × × ··· SirJ's Deaddrop ··· × × × ···
      — If you found this, you were meant to —

---------------- A Seriously Kritical™ Production ----------------

                                   [] →
                 (¯`·.¸¸.·´¯)
               .·´ `·. [] →
               `·.______________.·´
              | +------------------+ |
              | | Kritical™ | |
              | | [] [] | |
              | | | |
              | | [] [] [] | |
              | +------------------+ |
                  (._.·´¯`·.¸_)

                     Your last call.
                   And your first move.

                         ★ ☆ ★

                     +61 1300 274 655
                 sales at kritical dot net

-----------------------------------------------------------------


.COPYRIGHT
    (c) 2026 Kritical Pty Ltd. All rights reserved.
.AUTHOR
    Joshua Finley <joshua.finley@kritical.net>
.COMPANY
    Kritical Pty Ltd | ABN 39 687 048 086
    Level 4 / 60 Moorabool St Geelong VIC 3220
    1300 274 655 | sales@kritical.net | https://kritical.net/
.NOTES
    HARD RULE 13 canonical Kritical branding — do not overlay other agent banners.
    Auto-generated by Generate-KritTcmFromM365DscSchema.ps1 (.1507o30+).
    Upstream reference: Microsoft365DSC by Microsoft (MIT). This shim provides
    literal search-replace equivalence — see Krit.TCM/generated/index.md.
#>


function Get-KritTcmTeamsMessagingPolicy {
<#
.SYNOPSIS
    Krit.TCM shim for M365DSC resource TeamsMessagingPolicy.

.DESCRIPTION
    Auto-generated from M365DSC .schema.mof by
    scripts/m365-setup/Generate-KritTcmFromM365DscSchema.ps1 (.1507o30).

    Search-replace safe: callers that today invoke
        Get-M365DSCTeamsMessagingPolicy -Credential $cred -TenantId $tid
    can rename to
        Get-KritTcmTeamsMessagingPolicy -Credential $cred -TenantId $tid
    with ZERO other edits. Parameter shape matches the M365DSC .schema.mof
    exactly. Per operator direction, -PreferM365DscBehavior defaults to true.

    Actual Graph dispatch is delegated to Invoke-KritTcmM365DscSchemaBridge.
    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
    Original mof: C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github\KRTPax8ToShopifyConnector\.kritm365-mine\Microsoft365DSC\Modules\Microsoft365DSC\DSCResources\MSFT_TeamsMessagingPolicy\MSFT_TeamsMessagingPolicy.schema.mof
    Param count: 49
    Generator wave: .1507o30
#>

[CmdletBinding()]
param(
        # Identity for the teams messaging policy you're modifying. To modify the global policy, use this syntax: -Identity global. To modify a per-user policy, use syntax similar to this: -Identity TeamsMessagingPolicy.
[Parameter(Mandatory)] [string]$Identity,
        # This setting determines if users can chat with groups (Distribution, M365 and Security groups). Possible values: True, False
[bool]$AllowChatWithGroup,
        # These settings enables, disables updating or fetching custom group chat avatars for the users included in the messaging policy. Possible values: True, False
[bool]$AllowCustomGroupChatAvatars,
        # This setting enables/disables showing company name and department name in search results for MTO users. Possible values: True, False
[bool]$AllowExtendedWorkInfoInSearch,
        # This setting determines if users with the 'Full permissions' role can delete any group or meeting chat message within their tenant. Possible values: True, False
[bool]$AllowFullChatPermissionUserToDeleteAnyMessage,
        # Determines if Giphy images should be displayed that had been already sent or received in chat. Possible values: True, False
[bool]$AllowGiphyDisplay,
        # This setting determines if users in a group chat can create and share join links for other users within the organization to join that chat. Possible values: True, False
[bool]$AllowGroupChatJoinLinks,
        # Determines if a user is allowed to paste internet-based images in compose. Possible values: True, False
[bool]$AllowPasteInternetImage,
        # Determines whether files are automatically shared in external chats. Possible values: Enabled: Files are automatically shared in external chats. Disabled: Files are not automatically shared in external chats.
[ValidateSet('Enabled','Disabled')] [string]$AutoShareFilesInExternalChats,
        # Determines the Supervised Chat role of the user. Set this to Full to allow the user to supervise chats. Supervisors have the ability to initiate chats with and invite any user within the environment. Set this to Limited to allow the user to initiate conversations with Full and Limited permissioned users, but not Restricted. Set this to Restricted to block chat creation with anyone other than Full permissioned users.
[ValidateSet('Full','Limited','Restricted')] [string]$ChatPermissionRole,
        # This setting enables the creation of custom emojis and reactions within an organization for the specified policy users.
[bool]$CreateCustomEmojis,
        # These settings enable and disable the editing and deletion of custom emojis and reactions for the users included in the messaging policy.
[bool]$DeleteCustomEmojis,
        # This setting determines whether a user is allowed to create custom AI-powered backgrounds and images with MS Designer.Possible values are: Enabled, Disabled
[ValidateSet('Enabled','Disabled')] [string]$DesignerForBackgroundsAndImages,
        # This setting determines if chat regulation for internal communication in the tenant is allowed. Possible values: BlockingAllowed, BlockingDisallowed
[ValidateSet('BlockingDisallowed','BlockingAllowed')] [string]$InOrganizationChatControl,
        # Determines whether a user is allowed to delete messages sent by bots. Possible values are: True, False
[bool]$UsersCanDeleteBotMessages,
        # Report inappropriate content.
[bool]$AllowCommunicationComplianceEndUserReporting,
        # Determines is Fluid Collaboration should be enabled or not.
[bool]$AllowFluidCollaborate,
        # Report a security concern.
[bool]$AllowSecurityEndUserReporting,
        # Determines whether a user is allowed to access and post Giphys. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowGiphy,
        # Determines whether a user is allowed to access and post memes. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowMemes,
        # Determines whether owners are allowed to delete all the messages in their team. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowOwnerDeleteMessage,
        # Determines whether a user is allowed to edit their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowUserEditMessage,
        # Turn on this setting to let a user get text predictions for chat messages.
[bool]$AllowSmartCompose,
        # Turn this setting on to enable suggested replies for chat messages. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowSmartReply,
        # Determines whether a user is allowed to access and post stickers. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowStickers,
        # Use this setting to turn automatic URL previewing on or off in messages. Set this to TRUE to turn on. Set this to FALSE to turn off.
[bool]$AllowUrlPreviews,
        # Determines whether a user is allowed to chat. Set this to TRUE to allow a user to chat across private chat, group chat and in meetings. Set this to FALSE to prohibit all chat.
[bool]$AllowUserChat,
        # Determines whether a user is allowed to delete their own messages. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowUserDeleteMessage,
        # Determines whether a user is allowed to translate messages to their client languages. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowUserTranslation,
        # Determines whether a user is allowed to use Immersive Reader for reading conversation messages. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowImmersiveReader,
        # Determines whether a user is allowed to remove a user from a conversation. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowRemoveUser,
        # Determines whether a user is allowed to send priorities messages. Set this to TRUE to allow. Set this FALSE to prohibit.
[bool]$AllowPriorityMessages,
        # Turn this setting on to allow users to permanently delete their 1:1, group chat, and meeting chat as participants (this deletes the chat only for them, not other users in the chat).
[bool]$AllowUserDeleteChat,
        # Determines whether a user is allowed to send video messages in Chat. Set this to TRUE to allow a user to send video messages. Set this to FALSE to prohibit sending video messages.
[bool]$AllowVideoMessages,
        # Provide a description of your policy to identify purpose of creating it.
[string]$Description,
        # Determines the Giphy content restrictions applicable to a user. Set this to STRICT, MODERATE or NORESTRICTION.
[ValidateSet('STRICT','MODERATE','NORESTRICTION')] [string]$GiphyRatingType,
        # Use this setting to specify whether read receipts are user controlled, enabled for everyone, or disabled. Set this to UserPreference, Everyone or None.
[ValidateSet('UserPreference','Everyone','None')] [string]$ReadReceiptsEnabledType,
        # Possible values are: DisabledUserOverride,EnabledUserOverride.
[ValidateSet('DisabledUserOverride','EnabledUserOverride')] [string]$ChannelsInChatListEnabledType,
        # Determines whether a user is allowed to send audio messages. Possible values are: ChatsAndChannels,ChatsOnly,Disabled.
[ValidateSet('ChatsAndChannels','ChatsOnly','Disabled')] [string]$AudioMessageEnabledType,
        # Indicates whether B2B invites should be used to add external users when necessary. Possible values: Enabled: External users will be added using B2B invites. Disabled: External users will not be added using B2B invites.
[ValidateSet('Enabled','Disabled')] [string]$UseB2BInvitesToAddExternalUsers,
        # Globally unique identifier (GUID) of the tenant account whose external user communication policy are being created.
[string]$Tenant,
        # Present ensures the Team Message Policy exists, absent ensures it is removed
[ValidateSet('Present','Absent')] [string]$Ensure,
        # Credentials of the Teams Service Admin
[string]$Credential,
        # Id of the Azure Active Directory application to authenticate with.
[string]$ApplicationId,
        # Name of the Azure Active Directory tenant used for authentication. Format contoso.onmicrosoft.com
[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-KritTcmM365DscSchemaBridge -ResourceName 'TeamsMessagingPolicy' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}