フェデレーションの設定をドメインごとに更新したい

IIJ IDのOffice 365へのフェデレーション設定の反映には、PowerShellスクリプトを利用しています。
このPowerShellスクリプトではフェデレーション設定を解除してから再び有効にしていますが、正常に反映されない、または反映に時間がかかる場合があります。

【参考】

フェデレーション設定が正常に反映されずOffice 365で「AADSTS50107」と表示されてログインできない場合は、「AADSTS50107エラーでMicrosoft 365にログインできない」をご覧ください。

すでにフェデレーション設定が正常に反映されているドメインへの影響を避けるには、特定のドメインでのみフェデレーション設定を更新する必要があります。
以下のようにPowerShellスクリプトにコメントアウト(#)を追加してください。

例)フェデレーション設定している「example.jp」と「example.com」のドメインの内、「example.jp」ドメインの設定のみを更新する場合
#setup_domain [-adminAccount <account>] [-adminPassword <password>]
#requires -Version 4.0

import-module MSOnline

if ($adminAccount -and $adminPassword) {
  $o365Credential = ConvertTo-SecureString $adminPassword -AsPlainText -Force | % { New-Object System.Management.Automation.PSCredential($adminAccount, $_) } | % { Get-Credential $_ }
}
elseif ($adminAccount) {
  $o365Credential = Get-Credential -UserName $adminAccount -Message 'Office365 Logon'
}

if ($o365Credential) {
  Connect-MsolService -Credential $o365Credential -ErrorAction Stop
}
else {
  Connect-MsolService -ErrorAction Stop
}
Write-Host 'Setting domains start'



$domain = Get-MsolDomain -DomainName 'example.jp' -ErrorAction Silentlycontinue
if ($domain) {
  if ($domain.rootdomain) {

    Write-Host 'example.jp is sub domain'
    Write-Host 'skip to set federation for example.jp'
  }
  else {
    Set-MsolDomainAuthentication -DomainName 'example.jp' -Authentication Managed -ErrorAction Stop
    Set-MsolDomainAuthentication -DomainName 'example.jp' `
                                 -FederationBrandName 'example.jp' `
                                 -Authentication Federated `
                                 -PassiveLogOnUri 'https://www.auth.iij.jp/idp/SSOPOST/metaAlias/asiida-000000000000A/example.jp' `
                                 -SigningCertificate '*******' `
                                 -IssuerUri 'https://www.auth.iij.jp/idp/asiida-000000000000A/example.jp' `
                                 -LogOffUri 'https://www.auth.iij.jp/idp/UI/Logout?goto=https://portal.office.com/' `
                                 -PreferredAuthenticationProtocol SAMLP `
                                 -ErrorAction Stop
  }
} else {
  Write-Host 'Failed to federation for example.jp' -foregroundcolor red
}

#$domain = Get-MsolDomain -DomainName 'example.com' -ErrorAction Silentlycontinue
#if ($domain) {
#  if ($domain.rootdomain) {
#
#    Write-Host 'example.com is sub domain'
#    Write-Host 'skip to set federation for example.com'
#  }
#  else {
#    Set-MsolDomainAuthentication -DomainName 'example.com' -Authentication Managed -ErrorAction Stop
#    Set-MsolDomainAuthentication -DomainName 'example.com' `
#                                 -FederationBrandName 'example.com' `
#                                 -Authentication Federated `
#                                 -PassiveLogOnUri 'https://www.auth.iij.jp/idp/SSOPOST/metaAlias/asiida-000000000000A/example.com' `
#                                 -SigningCertificate '*******' `
#                                 -IssuerUri 'https://www.auth.iij.jp/idp/asiida-000000000000A/example.com' `
#                                 -LogOffUri 'https://www.auth.iij.jp/idp/UI/Logout?goto=https://portal.office.com/' `
#                                 -PreferredAuthenticationProtocol SAMLP `
#                                 -ErrorAction Stop
#  }
#} else {
#  Write-Host 'Failed to federation for example.com' -foregroundcolor red
#}

Write-Host 'Setting domains finished'

Get-MsolDomain -DomainName 'example.jp' -ErrorAction Silentlycontinue

#Get-MsolDomain -DomainName 'example.com' -ErrorAction Silentlycontinue