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

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCEXOReportSubmissionPolicy -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmEXOReportSubmissionPolicy -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: Exchange
    Param count: 31
#>

[CmdletBinding()]
param(
        # Specifies the resource is a single instance, the value must be 'Yes'.
[Parameter(Mandatory)] [ValidateSet('Yes')] [string]$IsSingleInstance,
        # The DisableQuarantineReportingOption parameter allows or prevents users from reporting messages in quarantine.
[bool]$DisableQuarantineReportingOption,
        # The EnableCustomNotificationSender parameter specifies whether a custom sender email address is used for result messages after an admin reviews and marks the reported messages as junk, not junk, or phishing.
[bool]$EnableCustomNotificationSender,
        # The EnableOrganizationBranding parameter specifies whether to show the company logo in the footer of result messages that users receive after an admin reviews and marks the reported messages as junk, not junk, or phishing.
[bool]$EnableOrganizationBranding,
        # The EnableReportToMicrosoft parameter specifies whether Microsoft integrated reporting experience is enabled or disabled.
[bool]$EnableReportToMicrosoft,
        # The EnableThirdPartyAddress parameter specifies whether you're using third-party reporting tools in Outlook instead of Microsoft tools to send messages to the reporting mailbox in Exchange Online.
[bool]$EnableThirdPartyAddress,
        # The EnableUserEmailNotification parameter species whether users receive result messages after an admin reviews and marks the reported messages as junk, not junk, or phishing.
[bool]$EnableUserEmailNotification,
        # The JunkReviewResultMessage parameter specifies the custom text to use in result messages after an admin reviews and marks the reported messages as junk.
[string]$JunkReviewResultMessage,
        # The NotJunkReviewResultMessage parameter specifies the custom text to use in result messages after an admin reviews and marks the reported messages as not junk.
[string]$NotJunkReviewResultMessage,
        # The NotificationFooterMessage parameter specifies the custom footer text to use in email notifications after an admin reviews and marks the reported messages as junk, not junk, or phishing.
[string]$NotificationFooterMessage,
        # The NotificationSenderAddress parameter specifies the sender email address to use in result messages after an admin reviews and marks the reported messages as junk, not junk, or phishing.
[string]$NotificationSenderAddress,
        # The PhishingReviewResultMessage parameter specifies the custom text to use in result messages after an admin reviews and marks the reported messages as phishing.
[string]$PhishingReviewResultMessage,
        # The PostSubmitMessage parameter specifies the custom pop-up message text to use in Outlook notifications after users report messages.
[string]$PostSubmitMessage,
        # The PostSubmitMessageEnabled parameter enables or disables the pop-up Outlook notifications that users see after they report messages using Microsoft reporting tools.
[bool]$PostSubmitMessageEnabled,
        # The PostSubmitMessage parameter parameter specifies the custom pop-up message title to use in Outlook notifications after users report messages.
[string]$PostSubmitMessageTitle,
        # The PreSubmitMessage parameter specifies the custom pop-up message text to use in Outlook notifications before users report messages.
[string]$PreSubmitMessage,
        # The PreSubmitMessageEnabled parameter enables or disables the pop-up Outlook notifications that users see before they report messages using Microsoft reporting tools.
[bool]$PreSubmitMessageEnabled,
        # The PreSubmitMessage parameter parameter specifies the custom pop-up message title to use in Outlook notifications before users report messages.
[string]$PreSubmitMessageTitle,
        # The ReportJunkToCustomizedAddress parameter specifies whether to send user reported messages from Outlook (using Microsoft or third-party reporting tools) to the reporting mailbox as part of reporting in Outlook.
[bool]$ReportJunkToCustomizedAddress,
        # The ReportNotJunkToCustomizedAddress parameter specifies whether to send user reported messages from Outlook (using Microsoft or third-party reporting tools) to the reporting mailbox as part of reporting in Outlook.
[bool]$ReportNotJunkToCustomizedAddress,
        # The ReportPhishToCustomizedAddress parameter specifies whether to send user reported messages from Outlook (using Microsoft or third-party reporting tools) to the reporting mailbox as part of reporting in Outlook.
[bool]$ReportPhishToCustomizedAddress,
        # TBD
[bool]$ReportChatMessageEnabled,
        # TBD
[bool]$ReportChatMessageToCustomizedAddressEnabled,
        # Specifies if this report submission policy should exist.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # Credentials of the Exchange Global 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 'EXOReportSubmissionPolicy' -Workload 'Exchange' -Verb 'Get' -CallerParams $PSBoundParameters
}