internal/functions/Connect-MDGraph.ps1
|
function Connect-MDGraph { <# .SYNOPSIS Connects to graph as configured. If configured. .DESCRIPTION Connects to graph as configured. If configured. .EXAMPLE PS C:\> Connect-MDGraph Connects to graph as configured. If configured. #> [CmdletBinding()] param () process { $settings = Select-PSFConfig -FullName 'MailDaemon.Daemon.Graph.*' if ($settings.NoAuth) { return } if ($settings.Identity) { Connect-EntraService -Service Graph -Identity return } if (-not $settings.ClientID -or -not $settings.TenantID) { Stop-PSFFunction -String 'Connect-MDGraph.Error.NoClientIDorTenantID' -EnableException $true -Cmdlet $PSCmdlet -Category InvalidData } if ( -not $settings.CertificateName -and -not $settings.CertificateThumbprint -and -not $settings.Federated ) { Stop-PSFFunction -String 'Connect-MDGraph.Error.NoAuthPath' -EnableException $true -Cmdlet $PSCmdlet -Category InvalidData } $idParam = $settings | ConvertTo-PSFHashtable -Include ClientID, TenantID if ($settings.Federated) { Connect-EntraService @idParam -Federated return } if ($settings.CertificateThumbprint) { Connect-EntraService @idParam -CertificateThumbprint $settings.CertificateThumbprint return } if ($settings.CertificateName) { Connect-EntraService @idParam -CertificateName $settings.CertificateName return } } } |