В мире базовой проверки подлинности я подключался к 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 ... Интерактивные логины не так хорошо работают в скрипте :(
Я рад узнать, что проблема решена, отметьте полезные ответы как ответы, это упростит поиск ответов на форуме, а также принесет пользу другим участникам сообщества.