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

.DESCRIPTION

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

[CmdletBinding()]
param(
        # The Identity parameter specifies the mailbox that you want to configure.
[Parameter(Mandatory)] [string]$Identity,
        # The ActiveSyncDebugLogging parameter enables or disables Exchange ActiveSync debug logging for the mailbox.
[bool]$ActiveSyncDebugLogging,
        # The ActiveSyncEnabled parameter enables or disables access to the mailbox using Exchange ActiveSync.
[bool]$ActiveSyncEnabled,
        # The ActiveSyncMailboxPolicy parameter specifies the Exchange ActiveSync mailbox policy for the mailbox.
[string]$ActiveSyncMailboxPolicy,
        # The ActiveSyncSuppressReadReceipt parameter controls the behavior of read receipts for Exchange ActiveSync clients that access the mailbox.
[bool]$ActiveSyncSuppressReadReceipt,
        # The EwsAllowEntourage parameter enables or disables access to the mailbox by Microsoft Entourage clients that use Exchange Web Services.
[bool]$EwsAllowEntourage,
        # The EwsAllowMacOutlook parameter enables or disables access to the mailbox by Outlook for Mac clients that use Exchange Web Services.
[bool]$EwsAllowMacOutlook,
        # The EwsAllowOutlook parameter enables or disables access to the mailbox by Outlook clients that use Exchange Web Services.
[bool]$EwsAllowOutlook,
        # The EwsApplicationAccessPolicy parameter controls access to the mailbox using Exchange Web Services applications.
[string]$EwsApplicationAccessPolicy,
        # The EwsEnabled parameter enables or disables access to the mailbox using Exchange Web Services clients.
[bool]$EwsEnabled,
        # The ImapEnabled parameter enables or disables access to the mailbox using IMAP4 clients.
[bool]$ImapEnabled,
        # The ImapMessagesRetrievalMimeFormat parameter specifies the message format for IMAP4 clients that access the mailbox.
[string]$ImapMessagesRetrievalMimeFormat,
        # The ImapForceICalForCalendarRetrievalOption parameter specifies how meeting requests are presented to IMAP4 clients that access the mailbox.
[bool]$ImapForceICalForCalendarRetrievalOption,
        # The ImapSuppressReadReceipt parameter controls the behavior of read receipts for IMAP4 clients that access the mailbox.
[bool]$ImapSuppressReadReceipt,
        # The ImapUseProtocolDefaults parameter specifies whether to use the IMAP4 protocol defaults for the mailbox.
[bool]$ImapUseProtocolDefaults,
        # The MacOutlookEnabled parameter enables or disables access to the mailbox using Outlook for Mac clients that use Microsoft Sync technology.
[bool]$MacOutlookEnabled,
        # The MAPIEnabled parameter enables or disables access to the mailbox using MAPI clients (for example, Outlook).
[bool]$MAPIEnabled,
        # The OneWinNativeOutlookEnabled parameter enables or disables access to the mailbox using the new Outlook for Windows.
[bool]$OneWinNativeOutlookEnabled,
        # The OutlookMobileEnabled parameter enables or disables access to the mailbox using Outlook for iOS and Android.
[bool]$OutlookMobileEnabled,
        # The OWAEnabled parameter enables or disables access to the mailbox using Outlook on the web (formerly known as Outlook Web App or OWA).
[bool]$OWAEnabled,
        # The OWAforDevicesEnabled parameter enables or disables access to the mailbox using the older Outlook Web App (OWA) app on iOS and Android devices.
[bool]$OWAforDevicesEnabled,
        # The OwaMailboxPolicy parameter specifies the Outlook on the web mailbox policy for the mailbox.
[string]$OwaMailboxPolicy,
        # The PopEnabled parameter enables or disables access to the mailbox using POP3 clients.
[bool]$PopEnabled,
        # The PopForceICalForCalendarRetrievalOption parameter specifies how meeting requests are presented to POP3 clients that access the mailbox.
[bool]$PopForceICalForCalendarRetrievalOption,
        # The PopMessagesRetrievalMimeFormat parameter specifies the message format for POP3 clients that access the mailbox.
[string]$PopMessagesRetrievalMimeFormat,
        # The PopSuppressReadReceipt parameter controls the behavior of read receipts for POP3 clients that access the mailbox.
[bool]$PopSuppressReadReceipt,
        # The PopUseProtocolDefaults parameter specifies whether to use the POP3 protocol defaults for the mailbox.
[bool]$PopUseProtocolDefaults,
        # The PublicFolderClientAccess parameter enables or disables access to public folders in Microsoft Outlook.
[bool]$PublicFolderClientAccess,
        # The ShowGalAsDefaultView parameter specifies whether the global address list (GAL) is the default recipient picker for messages.
[bool]$ShowGalAsDefaultView,
        # The SmtpClientAuthenticationDisabled parameter specifies whether to disable authenticated SMTP (SMTP AUTH) for the mailbox.
[bool]$SmtpClientAuthenticationDisabled,
        # The UniversalOutlookEnabled parameter enables or disables access to the mailbox using Windows 10 Mail and Calendar.
[bool]$UniversalOutlookEnabled,
        # Present ensures the Mailbox CAS settings are applied.
[ValidateSet('Present')] [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 'EXOCASMailboxSettings' -Workload 'Exchange' -Verb 'Get' -CallerParams $PSBoundParameters
}