特定のコンピューター名で Active Directory ドメインにログオンできなくなる問題

皆さん、こんにちは。

お久しぶりですね。全然、ブログを更新していなくてすみませんでした。

今回は、SCCM に関してでは無く Active Directory に関しての話題を記載します。

この問題は私がトラブルシューティングを対応した実際の内容です。

【概要】

ある日、特定のコンピューター名のコンピューターに Active Directory User Account でログオンすると “このワークステーションとプライマリ ドメインとの信頼関係に失敗しました” (The trust relationship between this workstation and the primary domain failed) エラーが表示されるようになりました。そのため、ドメインへの再参加(一度、ドメイン環境からワークグループへ戻し、再度ドメイン環境への参加)を行いました。しかし、ドメインへの参加後の初めてのログオン時に何度やってもドメインとの信頼関係に失敗しましたエラーが表示されます。コンピューター名を変えてドメイン参加させると問題無くログオンできます。しかし、社内のコンピューター命名規則があるため、以前のコンピューター名を使う必要があります。

このような状況でいろいろな事を調べました。もしかしたら、 SID (security identifier) が重複しているものがあるのでは無いか等…
そこで、SQL Server 等で Service Principal Name (SPN) を登録する事を思い出して、原因を想像しました。

【根本原因 (Root Cause)】
Active Directory Service Principal Name (SPN) の重複

SPN とは

【トラブルシューティングの手法】

PowerShell の Get-SPN function を使って重複している SPN を割り出す。

Get-SPN – Get Service Principal Names (SPNs)

まず、上記のサイトから Get-SPN.ps1 ファイルをダウンロードします。
ダウンロード後、下記のように Get-SPN.ps1 のプロパティを開き Zone ID を削除します。([ブロックの解除] をクリック)

PowerShell_001

PowerShell を起動してモジュールを読み込みます。
その後、重複している可能性があるコンピューター名(Active Directory ドメインにログオンできないコンピューター名)を検索します。この例では [CLIENT01] がコンピューター名。
見やすさを考えて ft -AutoSize を使う事をお勧めいたします。

> PowerShell コマンド

Import-Module .\Get-SPN.ps1
Get-SPN CLIENT01 | ft -AutoSize

> 出力結果

実際に重複している画面をお見せできれば良かったのですが、再現できず、通常の画面になっています。重複しているケースの場合は、ComputerName フィールドと sAMAccountName フィールドの値が不一致のものが存在します。

PowerShell_002

もし、皆さんも Active Directory に参加したマシンでドメインとの信頼関係に失敗メッセージが出た際は SPN の重複もチェックしてみてください。

%d人のブロガーが「いいね」をつけました。