Назад | Перейти на главную страницу

Подключение к ОБОИМ соответствию и обмену онлайн в Powershell с использованием современной аутентификации

В мире базовой проверки подлинности я подключался к MSOL, Compliance и Exchange в следующих сериях:

        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
        }

В мире Modern Auth мы должны подключиться к Compliance с:

    Connect-IPPSSession -Credential $CloudCredentials

и подключитесь к Exchange с помощью:

    Connect-ExchangeOnline -Credential $CloudCredentials

подключение к MSOL не изменилось.

Проблема в том, что когда я запускаю Connect-ExchangeOnline, он ОТКЛЮЧАЕТ меня от Compliance и наоборот. Как я могу в скрипте подключиться ко всем ТРЕМЯ службам одновременно, используя современную аутентификацию?

Спасибо!

Кажется, я использовал "предварительный просмотр"модуль онлайн-подключения.

Если я использую тот, который вы получаете через Справочник по Exchange Online, то следующие команды работают для подключения ОБЕИМ совместимости и 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

Примечание. Я не могу использовать New-EXOPSSession потому что он не позволяет мне указать параметр Credential ... Интерактивные логины не так хорошо работают в скрипте :(

Я рад узнать, что проблема решена, отметьте полезные ответы как ответы, это упростит поиск ответов на форуме, а также принесет пользу другим участникам сообщества.