Office 365 の認証基盤として Azure AD Connect を導入しようと奮闘しましたが,構築の最終ステップで失敗しました。そこで,同じように Azure AD Connect のインストールで苦戦している方のために,私の経験と解決策を共有します。この記事では,私が遭遇したエラーの原因と,その解決方法を詳しく解説していきます。
環境
Windows Server 2019 Standard
症状
環境に Azure AD Connect をインストールしようとAzureADConnect.msi
をダウンロードし,実行から環境設定を行っていき,最後の構成フェーズで「Microsoft Azure Active Directory Sync を構成しています」の表示が延々と続き,最終的に「Configure AAD Sync タスクを実行中にエラーが発生しました」のメッセージが表示されます。
試したこと
ログの確認
ログ保管場所は画面表示されていましたので,内容を確認すると以下のことがわかりました。
保管場所:C:\ProgramData\AADConnect\trace-yyyyMMdd-hhmmss.log
Microsoft.OptionalFeature.EnableAutoUpgradeの取得失敗:
認証に関する例外 (MsalUiRequiredException):
[ 1] [ERROR] Unable to get value for Microsoft.OptionalFeature.EnableAutoUpgrade global parameter.
[ 21] [ERROR] MSAL: Exception type: Microsoft.Identity.Client.MsalUiRequiredException
このエラーは,Microsoft Identity Client ライブラリ (MSAL) に関連しているようで,ユーザーの認証情報がおかしいのかと思い,再度インストールからトライしましたが,改善しませんでした。結果,原因を特定できるような情報は得られず…。
解消方法
答えは公式が出していました。
Microsoft Entra Connect に対する TLS 1.2 の強制
Microsoft Entra Connect のバージョン 1.2.65.0 以降では、Azure との通信に対して TLS 1.2 のみの使用が完全にサポートされています。 この記事では、Microsoft Entra Connect サーバーで強制的に TLS 1.2 のみを使用する方法に関する情報を提供します。
Microsoft Entra Connect に対する TLS 1.2 の強制
ここに記載されているように,TLS1.2を強制する必要があるようです。
If (-Not (Test-Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled. You must restart the Windows Server for the changes to take affect.' -ForegroundColor Cyan
上記をPowerShellで実行すると以下が表示されます。
TLS 1.2 has been enabled. You must restart the Windows Server for the changes to take affect.
その状態で,再試行ボタンを押すことで,無事インストールすることができました。
まとめ
いかがだったでしょうか。やはり公式のドキュメントをしっかり確認してから作業しないといけないですね。
だれかの参考になれば幸いです。
コメント