Public/generated/Get-KritTcmEXOSafeLinksPolicy.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-KritTcmEXOSafeLinksPolicy {
<#
.SYNOPSIS
    Krit.TCM shim for M365DSC resource EXOSafeLinksPolicy.

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

    Search-replace safe: callers that today invoke
        Get-M365DSCEXOSafeLinksPolicy -Credential $cred -TenantId $tid
    can rename to
        Get-KritTcmEXOSafeLinksPolicy -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: Exchange
    Original mof: C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github\KRTPax8ToShopifyConnector\.kritm365-mine\Microsoft365DSC\Modules\Microsoft365DSC\DSCResources\MSFT_EXOSafeLinksPolicy\MSFT_EXOSafeLinksPolicy.schema.mof
    Param count: 22
    Generator wave: .1507o30
#>

[CmdletBinding()]
param(
        # The Identity parameter specifies the SafeLinks policy that you want to modify.
[Parameter(Mandatory)] [string]$Identity,
        # Specify if this policy should exist or not.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # The AdminDisplayName parameter specifies a description for the policy.
[string]$AdminDisplayName,
        # The AllowClickThrough parameter specifies whether to allow users to click through to the original URL on warning pages.
[bool]$AllowClickThrough,
        # The custom notification text specifies the customized notification text to show to users.
[string]$CustomNotificationText,
        # The DeliverMessageAfterScan parameter specifies whether to deliver email messages only after Safe Links scanning is complete. Valid values are: $true: Wait until Safe Links scanning is complete before delivering the message. $false: If Safe Links scanning can't complete, deliver the message anyway. This is the default value.
[bool]$DeliverMessageAfterScan,
        # The EnableForInternalSenders parameter specifies whether the Safe Links policy is applied to messages sent between internal senders and internal recipients within the same Exchange Online organization.
[bool]$EnableForInternalSenders,
        # The EnableOrganizationBranding parameter specifies whether your organization's logo is displayed on Safe Links warning and notification pages.
[bool]$EnableOrganizationBranding,
        # The EnableSafeLinksForOffice parameter specifies whether to enable Safe Links protection for supported Office desktop, mobile, or web apps.
[bool]$EnableSafeLinksForOffice,
        # The EnableSafeLinksForTeams parameter specifies whether Safe Links is enabled for Microsoft Teams. Valid values are: $true: Safe Links is enabled for Teams. If a protected user clicks a malicious link in a Teams conversation, group chat, or from channels, a warning page will appear in the default web browser. $false: Safe Links isn't enabled for Teams. This is the default value.
[bool]$EnableSafeLinksForTeams,
        # The EnableSafeLinksForEmail parameter specifies whether to enable Safe Links protection for email messages. Valid values are: $true: Safe Links is enabled for email. When a user clicks a link in an email, the link is checked by Safe Links. If the link is found to be malicious, a warning page appears in the default web browser. $false: Safe Links isn't enabled for email. This is the default value.
[bool]$EnableSafeLinksForEmail,
        # The DisableUrlRewrite parameter specifies whether to rewrite (wrap) URLs in email messages. Valid values are: $true: URLs in messages are not rewritten, but messages are still scanned by Safe Links prior to delivery. Time of click checks on links are done using the Safe Links API in supported Outlook clients (currently, Outlook for Windows and Outlook for Mac). Typically, we don't recommend using this value. $false: URLs in messages are rewritten. API checks still occur on unwrapped URLs in supported clients if the user is in a valid Safe Links policy. This is the default value.
[bool]$DisableUrlRewrite,
        # The ScanUrls parameter specifies whether to enable or disable the scanning of links in email messages. Valid values are: $true: Scanning links in email messages is enabled. $false: Scanning links in email messages is disabled. This is the default value.
[bool]$ScanUrls,
        # The TrackClicks parameter specifies whether to track user clicks related to Safe Links protection of links.
[bool]$TrackClicks,
        # The UseTranslatedNotificationText specifies whether to use Microsoft Translator to automatically localize the custom notification text that you specified with the CustomNotificationText parameter.
[bool]$UseTranslatedNotificationText,
        # 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-KritTcmM365DscSchemaBridge -ResourceName 'EXOSafeLinksPolicy' -Workload 'Exchange' -Verb 'Get' -CallerParams $PSBoundParameters
}