Public/Graph/New-KritTcmMgGroup.ps1

<#
.SYNOPSIS
    Krit.TCM wrapper over Microsoft365DSC helper New-MgGroup
    (category: Graph, module: M365DSCGraphShim).

.DESCRIPTION
    Auto-scaffolded wave .1514 by New-KritTcmFromM365DscHelpers.ps1.
    Thin delegating passthrough — logic stays in Microsoft365DSC upstream;
    Krit.TCM provides the friendly namespace + citation registration
    for HARD RULE 20 discipline.

    Install-Module Microsoft365DSC -Scope CurrentUser BEFORE calling.

.NOTES
    Wave .1514. Underlying cmdlet: New-MgGroup
    Category: Graph
    Module: M365DSCGraphShim
    Params: 85
#>

function New-KritTcmMgGroup {
    [CmdletBinding()]
    param(
        [Object] $BodyParameter,
        [String] $ResponseHeadersVariable,
        [Object] $AcceptedSenders,
        [Hashtable] $AdditionalProperties,
        [SwitchParameter] $AllowExternalSenders,
        [Object] $AppRoleAssignments,
        [Object] $AssignedLabels,
        [Object] $AssignedLicenses,
        [SwitchParameter] $AutoSubscribeNewMembers,
        [Object] $Calendar,
        [Object] $CalendarView,
        [String] $Classification,
        [Object] $Conversations,
        [DateTime] $CreatedDateTime,
        [Object] $CreatedOnBehalfOf,
        [DateTime] $DeletedDateTime,
        [String] $Description,
        [String] $DisplayName,
        [Object] $Drive,
        [Object] $Drives,
        [Object] $Events,
        [DateTime] $ExpirationDateTime,
        [Object] $Extensions,
        [Object] $GroupLifecyclePolicies,
        [String[]] $GroupTypes,
        [SwitchParameter] $HasMembersWithLicenseErrors,
        [SwitchParameter] $HideFromAddressLists,
        [SwitchParameter] $HideFromOutlookClients,
        [String] $Id,
        [String[]] $InfoCatalogs,
        [SwitchParameter] $IsArchived,
        [SwitchParameter] $IsAssignableToRole,
        [SwitchParameter] $IsManagementRestricted,
        [SwitchParameter] $IsSubscribedByMail,
        [Object] $LicenseProcessingState,
        [String] $Mail,
        [SwitchParameter] $MailEnabled,
        [String] $MailNickname,
        [Object] $MemberOf,
        [Object] $Members,
        [Object] $MembersWithLicenseErrors,
        [String] $MembershipRule,
        [String] $MembershipRuleProcessingState,
        [String] $OnPremisesDomainName,
        [DateTime] $OnPremisesLastSyncDateTime,
        [String] $OnPremisesNetBiosName,
        [Object] $OnPremisesProvisioningErrors,
        [String] $OnPremisesSamAccountName,
        [String] $OnPremisesSecurityIdentifier,
        [Object] $OnPremisesSyncBehavior,
        [SwitchParameter] $OnPremisesSyncEnabled,
        [Object] $Onenote,
        [Object] $Owners,
        [Object] $PermissionGrants,
        [Object] $Photo,
        [Object] $Photos,
        [Object] $Planner,
        [String] $PreferredDataLocation,
        [String] $PreferredLanguage,
        [String[]] $ProxyAddresses,
        [Object] $RejectedSenders,
        [DateTime] $RenewedDateTime,
        [String[]] $ResourceBehaviorOptions,
        [String[]] $ResourceProvisioningOptions,
        [SwitchParameter] $SecurityEnabled,
        [String] $SecurityIdentifier,
        [Object] $ServiceProvisioningErrors,
        [Object] $Settings,
        [Object] $Sites,
        [Object] $Team,
        [String] $Theme,
        [Object] $Threads,
        [Object] $TransitiveMemberOf,
        [Object] $TransitiveMembers,
        [String] $UniqueName,
        [Int32] $UnseenCount,
        [String] $Visibility,
        [SwitchParameter] $WelcomeMessageEnabled,
        [SwitchParameter] $Break,
        [IDictionary] $Headers,
        [Object[]] $HttpPipelineAppend,
        [Object[]] $HttpPipelinePrepend,
        [Uri] $Proxy,
        [PSCredential] $ProxyCredential,
        [SwitchParameter] $ProxyUseDefaultCredentials
    )

    if (-not (Get-Command -Name 'New-MgGroup' -ErrorAction SilentlyContinue)) {
        throw '[KritTcm] New-MgGroup not available — Install-Module Microsoft365DSC -Scope CurrentUser then re-run'
    }
    try {
        & 'New-MgGroup' @PSBoundParameters
    } catch {
        Write-Error ('[KritTcm/New-KritTcmMgGroup] ' + 'New-MgGroup' + ' failed: ' + $_.Exception.Message)
        throw
    }
}