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

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCSPOSearchResultSource -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmSPOSearchResultSource -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: SharePoint
    Param count: 17
#>

[CmdletBinding()]
param(
        # The Name of the Result Source.
[Parameter(Mandatory)] [string]$Name,
        # Description of the Result Source.
[string]$Description,
        # The protocol of the Result Source.
[Parameter(Mandatory)] [ValidateSet('Local','Remote','OpenSearch','Exchange')] [string]$Protocol,
        # Address of the root site collection of the remote SharePoint farm or Exchange server.
[string]$SourceURL,
        # Select SharePoint Search Results to search over the entire index. Select People Search Results to enable query processing specific to People Search, such as phonetic name matching or nickname matching. Only people profiles will be returned from a People Search source.
[ValidateSet('SharePoint','People')] [string]$Type,
        # Change incoming queries to use this new query text instead. Include the incoming query in the new text by using the query variable '{searchTerms}'.
[string]$QueryTransform,
        # Show partial search or not
[bool]$ShowPartialSearch,
        # Specifies if AutoDiscover should be used for the Exchange Source URL
[bool]$UseAutoDiscover,
        # Present ensures the Search Result Source exists.
[ValidateSet('Present')] [string]$Ensure,
        # Credentials of the account to authenticate with.
[string]$Credential,
        # Id of the Azure Active Directory application to authenticate with.
[string]$ApplicationId,
        # Secret of the Azure Active Directory application to authenticate with.
[string]$ApplicationSecret,
        # 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-KriticalUtcmM365DscSchemaBridge -ResourceName 'SPOSearchResultSource' -Workload 'SharePoint' -Verb 'Get' -CallerParams $PSBoundParameters
}