web-dev-qa-db-ja.com

ModernAuthを使用してPowershellでコンプライアンスとExchangeの両方にオンラインで接続する

基本認証の世界では、私は次のようなシリーズでMSOL、コンプライアンス、および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の世界では、コンプライアンスに接続することになっています。

    Connect-IPPSSession -Credential $CloudCredentials

次の方法でExchangeに接続します。

    Connect-ExchangeOnline -Credential $CloudCredentials

mSOLへの接続は変更されていません。

問題は、Connect-ExchangeOnlineを実行すると、コンプライアンスから切断され、その逆も同様です。スクリプトで、最新の認証を使用して3つのサービスすべてに同時に接続するにはどうすればよいですか。

ありがとう!

1
dragonspeed

オンライン接続の " preview "モジュールを使用していたようです。

Exchange Onlineリファレンス から取得したものを使用する場合、次のコマンドは、コンプライアンスとExchangeOnlineの両方に接続するために機能します。

        $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を使用できないのは、資格情報パラメーターを指定できないためです...対話型ログインはスクリプトではうまく機能しません:(

1
dragonspeed

問題が解決したことをうれしく思います。役立つ返信を回答としてマークしてください。これにより、フォーラムでの回答の検索が簡単になり、他のコミュニティメンバーにも役立ちます。

0
Jayce Yang