Workloads/ExchangeOnline.psm1
function Connect-MSCloudLoginExchangeOnline { [CmdletBinding()] param( [Parameter()] [System.String] $Prefix ) if ($null -eq $Global:o365Credential) { $Global:o365Credential = Get-Credential -Message "Cloud Credential" } try { if ($null -eq $Global:MSCloudLoginEXOConnected -or -not $Global:MSCloudLoginEXOConnected) { ` Connect-ExchangeOnline -Credential $Global:o365Credential -ShowBanner:$false -ShowProgress:$false | Out-Null $Global:MSCloudLoginEXOConnected = $true } } catch { if ($_.Exception -like '*you must use multi-factor authentication to access*') { try { Connect-ExchangeOnline -UserPrincipalName $Global:o365Credential.UserName -ShowBanner:$false -ShowProgress:$false | Out-Null $Global:MSCloudLoginEXOConnected = $true } catch { throw $_ } } else { throw $_ } } } |