Azure AD Connect 同期: ADSync サービス アカウントの変更
このトピックでは、暗号化キーの詳細と、パスワードの変更後にこのキーを破棄する方法について説明します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
このトピックでは、パスワード ハッシュ同期の問題のトラブルシューティングを行う手順を示します。 パスワードが想定どおりに同期しない場合、そのパスワードが、ユーザーのサブセット、またはすべてのユーザーを対象している可能性があります。
Azure Active Directory (Azure AD) Connect バージョン 1.1.614.0 以降のデプロイについては、ウィザードのトラブルシューティング タスクを使用して、パスワード ハッシュ同期の問題のトラブルシューティングを行ってください。
パスワードが同期されない問題がある場合は、「パスワードが同期されない: トラブルシューティング タスクによるトラブルシューティング」を参照してください。
個々のオブジェクトに問題がある場合は、「1 つのオブジェクトがパスワードを同期していない: トラブルシューティング タスクによるトラブルシューティング」を参照してください。
バージョン 1.1.524.0 以降のデプロイについては、パスワード ハッシュ同期の問題のトラブルシューティングに使用できる診断コマンドレットが用意されています。
パスワードが同期されない問題がある場合は、「パスワードが同期されない: 診断コマンドレットによるトラブルシューティング」を参照してください。
個々のオブジェクトに問題がある場合は、「1 つのオブジェクトがパスワードを同期していない: 診断コマンドレットによるトラブルシューティング」を参照してください。
前のバージョンの Azure AD Connect デプロイの場合:
パスワードが同期されない問題がある場合は、「パスワードが同期されない: 手動によるトラブルシューティング手順」を参照してください。
個々のオブジェクトに問題がある場合は、「1 つのオブジェクトがパスワードを同期していない: 手動によるトラブルシューティング手順」を参照してください。
トラブルシューティング タスクを使用して、パスワードが同期されない理由を確認できます。
注意
トラブルシューティング タスクは、Azure AD Connect バージョン 1.1.614.0 以降のみで使用できます。
パスワードが同期されない問題のトラブルシューティングを行うには:
[管理者として実行] オプションを指定して、Azure AD Connect サーバーで新しい Windows PowerShell セッションを開きます。
Set-ExecutionPolicy RemoteSigned
または Set-ExecutionPolicy Unrestricted
を実行します。
Azure AD Connect ウィザードを開始します。
[追加のタスク] ページに移動し、 [トラブルシューティング] を選択して [次へ] をクリックします。
トラブルシューティング ページで、 [起動] をクリックして PowerShell でトラブルシューティング メニューを起動します。
メイン メニューで、 [Troubleshoot password hash synchronization](パスワード ハッシュ同期のトラブルシューティング) を選択します。
サブ メニューで、 [Password hash synchronization does not work at all](パスワード ハッシュ同期がまったく機能しない) を選択します。
トラブルシューティング タスクでは、次のチェックが実行されます。
パスワード ハッシュ同期機能が Azure AD テナントに対して有効になっていることを検証します。
Azure AD Connect サーバーがステージング モードでないことを検証します。
既存のオンプレミスの Active Directory コネクタ (既存の Active Directory フォレストに対応) ごとに次の手順を実行します。
パスワード ハッシュ同期機能が有効になっていることを検証します。
Windows アプリケーション イベント ログでパスワード ハッシュ同期のハートビート イベントを検索します。
オンプレミスの Active Directory コネクタの Active Directory ドメインごとに次の手順を実行します。
Azure AD Connect サーバーからドメインにアクセスできることを検証します。
オンプレミスの Active Directory コネクタで使用される Active Directory Domain Services (AD DS) アカウントに、パスワード ハッシュ同期に必要な適切なユーザー名、パスワード、およびアクセス許可が付与されていることを検証します。
次の図は、単一ドメインのオンプレミス Active Directory トポロジに対するコマンドレットの結果を示しています。
このセクションの残りの部分では、タスクによって返される具体的な結果と、それに対応する問題について説明します。
Azure AD Connect ウィザードを使用してパスワード ハッシュ同期を有効にしていなかった場合は、次のエラーが返されます。
Azure AD Connect サーバーがステージング モードである場合、パスワード ハッシュ同期は一時的に無効になり、次のエラーが返されます。
オンプレミスの Active Directory コネクタごとに、独自のパスワード ハッシュ同期チャネルがあります。 パスワード ハッシュ同期チャネルが確立され、同期するパスワード変更がない場合は、Windows アプリケーション イベント ログでハートビート イベント (EventId 654) が 30 分に 1 回生成されます。 このコマンドレットは、オンプレミスの Active Directory コネクタごとに、過去 3 時間の対応するハートビートを検索します。 ハートビート イベントが見つからないと、次のエラーが返されます。
パスワード ハッシュを同期するためにオンプレミスの Active Directory コネクタによって使用される AD DS アカウントに、適切なアクセス許可がない場合は、次のエラーが返されます。
パスワード ハッシュを同期するためにオンプレミスの Active Directory コネクタによって使用される AD DS アカウントに、誤ったユーザー名またはパスワードが指定さている場合は、次のエラーが返されます。
トラブルシューティング タスクを使用して、1 つのオブジェクトがパスワードを同期していない理由を確認できます。
注意
トラブルシューティング タスクは、Azure AD Connect バージョン 1.1.614.0 以降のみで使用できます。
特定のユーザー オブジェクトに関する問題のトラブルシューティングを行うには:
[管理者として実行] オプションを指定して、Azure AD Connect サーバーで新しい Windows PowerShell セッションを開きます。
Set-ExecutionPolicy RemoteSigned
または Set-ExecutionPolicy Unrestricted
を実行します。
Azure AD Connect ウィザードを開始します。
[追加のタスク] ページに移動し、 [トラブルシューティング] を選択して [次へ] をクリックします。
トラブルシューティング ページで、 [起動] をクリックして PowerShell でトラブルシューティング メニューを起動します。
メイン メニューで、 [Troubleshoot password hash synchronization](パスワード ハッシュ同期のトラブルシューティング) を選択します。
サブ メニューで、 [Password is not synchronized for a specific user account](特定のユーザー アカウントのパスワードが同期されない) を選択します。
トラブルシューティング タスクでは、次のチェックが実行されます。
Active Directory コネクタ スペース、メタバース、および Azure AD コネクタ スペースで、Active Directory オブジェクトの状態を調べます。
パスワード ハッシュ同期が有効で、Active Directory オブジェクトに適用されている同期規則があることを検証します。
オブジェクトに対するパスワード同期の前回の試行結果を取得および表示しようとします。
次の図は、1 つのオブジェクトに対するパスワード ハッシュ同期のトラブルシューティングを行ったときの、コマンドレットの結果を示しています。
このセクションの残りの部分では、コマンドレットによって返される具体的な結果と、それに対応する問題について説明します。
Azure AD テナントに対応するオブジェクトがないため、このオンプレミス Active Directory アカウントのパスワード ハッシュ同期が失敗します。 次のエラーが返されます。
現在、Azure AD Connect では、一時パスワードと Azure AD の同期はサポートされていません。 オンプレミスの Active Directory ユーザーで [Change password at next logon](次回ログオン時にパスワード変更が必要) オプションが設定されている場合、パスワードは一時的なものと見なされます。 次のエラーが返されます。
既定では、Azure AD Connect では、パスワード ハッシュ同期の試行結果が 7 日間保存されます。 選択した Active Directory オブジェクトについて使用できる結果がない場合は、次の警告が返されます。
パスワードが同期されない理由を確認するには、Invoke-ADSyncDiagnostics
コマンドレットを使用できます。
注意
Invoke-ADSyncDiagnostics
コマンドレットは、Azure AD Connect バージョン 1.1.524.0 以降のみで使用できます。
パスワードが同期されない問題のトラブルシューティングを行うには:
[管理者として実行] オプションを指定して、Azure AD Connect サーバーで新しい Windows PowerShell セッションを開きます。
Set-ExecutionPolicy RemoteSigned
または Set-ExecutionPolicy Unrestricted
を実行します。
Import-Module ADSyncDiagnostics
を実行します。
Invoke-ADSyncDiagnostics -PasswordSync
を実行します。
1 つのオブジェクトがパスワードを同期していない理由を確認するには、Invoke-ADSyncDiagnostics
コマンドレットを使用できます。
注意
Invoke-ADSyncDiagnostics
コマンドレットは、Azure AD Connect バージョン 1.1.524.0 以降のみで使用できます。
ユーザーのパスワードが同期されない問題のトラブルシューティングを行うには:
[管理者として実行] オプションを指定して、Azure AD Connect サーバーで新しい Windows PowerShell セッションを開きます。
Set-ExecutionPolicy RemoteSigned
または Set-ExecutionPolicy Unrestricted
を実行します。
Import-Module ADSyncDiagnostics
を実行します。
次のコマンドレットを実行します。
Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName <Name-of-AD-Connector> -DistinguishedName <DistinguishedName-of-AD-object>
次に例を示します。
Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName "contoso.com" -DistinguishedName "CN=TestUserCN=Users,DC=contoso,DC=com"
パスワードが同期されない理由を確認するには、次の手順に従います。
Connect サーバーはステージング モードですか。 ステージング モードのサーバーは、パスワードを同期しません。
「パスワード同期設定の状態の取得」セクションにあるスクリプトを実行してください。 これにより、パスワード同期の構成の概要が示されます。
この機能が Azure AD で有効ではない場合、または同期チャネルの状態が有効ではない場合は、Connect のインストール ウィザードを実行してください。 [同期オプションのカスタマイズ] を選択し、パスワード同期の選択を解除します。この変更により、一時的に機能が無効になります。 その後、もう一度ウィザードを実行し、パスワード同期を再度有効にします。スクリプトを再実行して、構成が正しいことを確認します。
イベント ログでエラーを調べます。 問題を示す次のイベントを探します。
ハートビートが表示されない場合、または他に何も動作していない場合は、「すべてのパスワードの完全同期の開始」を実行します。 スクリプトは 1 回のみ実行してください。
「パスワードを同期していない 1 つのオブジェクトのトラブルシューティング」セクションをお読みください。
Azure AD との接続がありますか。
アカウントには、すべてのドメインでパスワード ハッシュを読み取るために必要なアクセス許可がありますか。 簡単設定を使用して Connect をインストールした場合、アクセス許可は既に正しい状態にあります。
カスタム インストールを使用した場合は、次の手順に従って、手動でアクセス許可を設定します。
Active Directory コネクタで使用されるアカウントを検索するには、Synchronization Service Manager を起動します。
[コネクタ] に移動し、トラブルシューティングを行うオンプレミスの Active Directory フォレストを検索します。
コネクタを選択し、 [プロパティ] をクリックします。
[Active Directory フォレストに接続] を選択します。
ユーザー名と、アカウントがあるドメインをメモしておきます。
[Active Directory ユーザーとコンピューター] を起動し、前に見つけたアカウントで、フォレスト内のすべてのドメインのルートに対して、次のアクセス許可が設定されていることを確認します。
ドメイン コントローラーは、Azure AD Connect からアクセスできますか。 Connect サーバーがすべてのドメイン コントローラーに接続できない場合は、 [Only use preferred domain controller](優先ドメイン コントローラーのみ使用する) を構成します。
Synchronization Service Manager と [ディレクトリ パーティションの構成] に戻ります。
[ディレクトリ パーティションの選択] でドメインを選択し、 [Only use preferred domain controller](優先ドメイン コントローラーのみ使用する) チェック ボックスをオンにして、 [構成] をクリックします。
一覧で、Connect がパスワード同期に使用するドメイン コントローラーを入力します。同じ一覧がインポートとエクスポートにも使用されます。 すべてのドメインに対してこの手順を実行します。
注意
これらの変更を適用するには、Microsoft Azure AD Sync (ADSync) サービスを再起動します。
オブジェクトの状態を確認することで、パスワード ハッシュ同期の問題を簡単に解決できます。
[Active Directory ユーザーとコンピューター] で、ユーザーを検索し、 [ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスがオフになっていることを確認します。
チェック ボックスがオンになっている場合、ユーザーは、サインインしてパスワードを変更するよう求められます。 一時パスワードは、Azure AD と同期されません。
パスワードが Active Directory で正しく表示されたら、同期エンジンのユーザーをフォローします。 オンプレミスの Active Directory から Azure AD までユーザーをフォローすると、オブジェクトに記述的なエラーが発生しているかどうかを確認できます。
a. Synchronization Service Manager を起動します。
b. [コネクタ] をクリックします。
c. ユーザーが存在する Active Directory コネクタ を選択します。
d. [Search Connector Space (コネクタ スペースの検索)] を選択します。
e. [スコープ] ボックスで、 [DN or Anchor](DN またはアンカー) を選択し、トラブルシューティングを行うユーザーの完全な DN を入力します。
f. 探しているユーザーを特定し、 [プロパティ] をクリックして、すべての属性を参照します。 ユーザーが検索結果にない場合は、フィルター処理規則を確認し、ユーザーに対して変更の適用と検証を実行して Connect に表示します。
g. 過去 1 週間のオブジェクトのパスワード同期の詳細を確認するには、 [ログ] をクリックします。
オブジェクト ログが空の場合、Azure AD Connect は Active Directory からパスワード ハッシュを読み取ることができていません。 接続エラーのトラブルシューティングに進みます。 [成功] 以外の値が表示される場合は、「パスワード同期ログ」の表をご覧ください。
h. [系列] タブを選択し、 [PasswordSync] 列の少なくとも 1 つの同期規則が True であることを確認します。 既定の構成では、同期規則の名前は [In from AD - User AccountEnabled](AD からの受信 - ユーザー AccountEnabled) です。
i. [Metaverse Object Properties](メタバース オブジェクトのプロパティ) をクリックして、ユーザー属性の一覧を表示します。
cloudFiltered 属性が存在しないことを確認します。 ドメイン属性 (domainFQDN と domainNetBios) に必要な値があることを確認します。
j. [コネクタ] タブをクリックします。オンプレミスの Active Directory と Azure AD の両方へのコネクタが表示されることを確認します。
k. Azure AD を表す行を選択し、 [プロパティ] 、 [系列] タブの順にクリックします。コネクタ スペース オブジェクトでは、 [PasswordSync] 列の送信規則が True に設定されている必要があります。 既定の構成では、 [Out to AAD - User Join] という名前の同期規則です。
状態列には次の値が入ります。
Status | 説明 |
---|---|
Success | パスワードが正常に同期されました。 |
FilteredByTarget | パスワードは [ユーザーは次回ログオン時にパスワードの変更が必要] に設定されています。 パスワードは同期されていません。 |
NoTargetConnection | メタバースまたは Azure AD コネクタ スペースなオブジェクトがありません。 |
SourceConnectorNotPresent | オンプレミスの Active Directory コネクタ スペースにオブジェクトがありません。 |
TargetNotExportedToDirectory | Azure AD コネクタ スペースのオブジェクトはまだエクスポートされていません。 |
MigratedCheckDetailsForMoreInfo | ログ エントリはビルド 1.0.9125.0 より前に作成されており、従来の状態で表示されます。 |
エラー | サービスから不明なエラーが返されました。 |
Unknown | パスワード ハッシュのバッチを処理するときにエラーが発生しました。 |
MissingAttribute | Azure AD Domain Services で必要な特定の属性 (たとえば、Kerberos ハッシュ) を使用できません。 |
RetryRequestedByTarget | 以前、Azure AD Domain Services で必要な特定の属性 (たとえば、Kerberos ハッシュ) を使用できませんでした。 ユーザーのパスワード ハッシュの再同期が試行されました。 |
Import-Module ADSync
$connectors = Get-ADSyncConnector
$aadConnectors = $connectors | Where-Object {$_.SubType -eq "Windows Azure Active Directory (Microsoft)"}
$adConnectors = $connectors | Where-Object {$_.ConnectorTypeName -eq "AD"}
if ($aadConnectors -ne $null -and $adConnectors -ne $null)
{
if ($aadConnectors.Count -eq 1)
{
$features = Get-ADSyncAADCompanyFeature
Write-Host
Write-Host "Password sync feature enabled in your Azure AD directory: " $features.PasswordHashSync
foreach ($adConnector in $adConnectors)
{
Write-Host
Write-Host "Password sync channel status BEGIN ------------------------------------------------------- "
Write-Host
Get-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector.Name
Write-Host
$pingEvents =
Get-EventLog -LogName "Application" -Source "Directory Synchronization" -InstanceId 654 -After (Get-Date).AddHours(-3) |
Where-Object { $_.Message.ToUpperInvariant().Contains($adConnector.Identifier.ToString("D").ToUpperInvariant()) } |
Sort-Object { $_.Time } -Descending
if ($pingEvents -ne $null)
{
Write-Host "Latest heart beat event (within last 3 hours). Time " $pingEvents[0].TimeWritten
}
else
{
Write-Warning "No ping event found within last 3 hours."
}
Write-Host
Write-Host "Password sync channel status END ------------------------------------------------------- "
Write-Host
}
}
else
{
Write-Warning "More than one Azure AD Connectors found. Please update the script to use the appropriate Connector."
}
}
Write-Host
if ($aadConnectors -eq $null)
{
Write-Warning "No Azure AD Connector was found."
}
if ($adConnectors -eq $null)
{
Write-Warning "No AD DS Connector was found."
}
Write-Host
注意
このスクリプトは 1 回のみ実行してください。 複数回実行する必要がある場合は、別の問題があります。 問題のトラブルシューティングを行う場合は、Microsoft サポートに連絡してください。
次のスクリプトを使用して、すべてのパスワードの完全同期をトリガーできます。
$adConnector = "<CASE SENSITIVE AD CONNECTOR NAME>"
$aadConnector = "<CASE SENSITIVE AAD CONNECTOR NAME>"
Import-Module adsync
$c = Get-ADSyncConnector -Name $adConnector
$p = New-Object Microsoft.IdentityManagement.PowerShell.ObjectModel.ConfigurationParameter "Microsoft.Synchronize.ForceFullPasswordSync", String, ConnectorGlobal, $null, $null, $null
$p.Value = 1
$c.GlobalParameters.Remove($p.Name)
$c.GlobalParameters.Add($p)
$c = Add-ADSyncConnector -Connector $c
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $false
Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $true
このトピックでは、暗号化キーの詳細と、パスワードの変更後にこのキーを破棄する方法について説明します。
このトピックのドキュメントでは、AD DS アカウントのパスワードが変更された後に、Azure AD Connect を更新する方法について説明します。
このトピックでは、Azure AD Connect 同期の組み込みのスケジューラ機能について説明します。
DirSync から Azure AD Connect にアップグレードする方法について説明します。 この記事では、DirSync から Azure AD Connect へのアップグレード手順について説明します。