helpers/Connect-O365Exchange.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function Connect-O365Exchange
{
    PARAM
    (
        [System.Management.Automation.PSCredential]
        $Credential
    )
    
    $ExchParams = @{
        ConfigurationName = 'microsoft.exchange'
        ConnectionUri     = "https://$ExchComputerName/powershell-liveid/"
        Credential        = $Credential
        Authentication    = 'Basic'
        AllowRedirection  = $true
    }
    $ExchSession = New-PSSession @ExchParams
    $ModuleName = 'ExchangeOnline'
    $ModulePath = Join-Path $AppdataPath $ModuleName
    $null = Export-PSSession -Session $ExchSession -OutputModule $ModulePath -AllowClobber -Force
    Import-Module $ModulePath -Global -DisableNameChecking
}