1 votos

Conectarse a AMBAS cosas: Compliance y Exchange online en Powershell usando Modern Auth

En el mundo de la autenticación básica, solía conectarme a MSOL, Compliance y Exchange en una serie que iba así:

        function ConnectToCloud()
        {
            $CloudCredentials = import-clixml C:\tools\CloudCreds.xml
            Write-Host "Connecting To Compliance Online..." -foregroundcolor white -BackgroundColor Green
            $Session1 = New-PSSession -Name "Session1" -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid `
                            -Credential $CloudCredentials -Authentication Basic -AllowRedirection -WarningAction SilentlyContinue
            Import-PSSession $Session1 -Prefix CP -DisableNameChecking -AllowClobber | Out-Null
            Write-Host "Connecting To Exchange Online..." -foregroundcolor white -BackgroundColor Green
            $Session2 = New-PSSession -Name "Session2" -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell `
                            -Credential $CloudCredentials -AllowRedirection -WarningAction SilentlyContinue
            #Import-PSSession $Session2 -Prefix Cloud -DisableNameChecking -AllowClobber | Out-Null
            Connect-MsolService -Credential $CloudCredentials
            Write-Host "Starting the Checks..." -foregroundcolor white -BackgroundColor Green
        }

En el mundo de Modern Auth, se supone que nos conectamos a Compliance con:

    Connect-IPPSSession -Credential $CloudCredentials

y conectarse a Exchange con:

    Connect-ExchangeOnline -Credential $CloudCredentials

la conexión con MSOL no ha cambiado.

El problema es que cuando ejecuto Connect-ExchangeOnline, me DESCONECTA de Compliance y viceversa ¿Cómo puedo, en un script conectarme a los TRES servicios simultáneamente, utilizando un auth moderno?

Gracias.

1voto

dragonspeed Puntos 145

Parece que estaba usando el " ver " de la conexión en línea.

Si utilizo el que se obtiene a través del Referencia de Exchange Online entonces los siguientes comandos funcionan para conectarse tanto a compliance como a Exchange Online

        $MFAExchangeModule = ((Get-ChildItem -Path $($env:LOCALAPPDATA+"\Apps\2.0\") -Filter CreateExoPSSession.ps1 -Recurse ).FullName | Select-Object -Last 1)
        Import-Module "$MFAExchangeModule"
        $CloudCredentials = import-clixml C:\tools\CloudCreds.xml
        Write-Host "Connecting To Compliance Online..." -foregroundcolor white -BackgroundColor Green
        Connect-IPPSSession -Credential $CloudCredentials -WarningAction SilentlyContinue
        Write-Host "Connecting To Exchange Online..." -foregroundcolor white -BackgroundColor Green
        Connect-ExchangeOnline -Credential $CloudCredentials -ShowBanner:$false
        Connect-MsolService -Credential $CloudCredentials
        Write-Host "Starting the Checks..." -foregroundcolor white -BackgroundColor Green

Nota - No puedo usar New-EXOPSSession porque no me deja darle un parámetro de Credencial... Los inicios de sesión interactivos no funcionan tan bien en un script :(

0voto

Jayce Yang Puntos 49

Me alegra saber que el problema se ha resuelto, por favor, marque las respuestas útiles como respuestas, esto facilitará la búsqueda de respuestas en el foro y será beneficioso para otros miembros de la comunidad también.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: