先日、会社で使用しているWindows10のマシンが急にログインできなくなりました。
表示されたメッセージは、「このワークステーションとプライマリドメインとの信頼関係に失敗しました。」という内容。
最初はリモートデスクトップ接続だけ、このメッセージが表示されて、直にログインする場合は出なかったのですが、最終的に直接ログインする場合も表示されるようになり、ドメインユーザー全てがログインできなくなりました。
対処することができたので、メモを残します。
【症状】
症状は前述の通りです。
ドメインユーザーでログインしようとするとメッセージが表示されてログインすることができません。
【原因】
原因は、セキュアチャネルの破損が主な原因となります。
セキュアチャネルとは、ドメインサーバーとクライアントマシンが安全に通信する仕組みで、互いにアカウントとパスワードを保持するものです。
この仕組みのため、クライアントマシンがネットワークに接続していなくても、ユーザーはログインすることができます。
このクライアントマシン側のセキュアチャネルが何らかの理由で破損すると、ドメインサーバーとの同期が取れなくなり、最終的にログインが不可になってしまいます。
【対処法】
対処法ですが、ドメイン登録を一度解除し、再度ドメインに参加することでセキュアチャネルを正常な状態に戻すことができます。
もし、まだドメインユーザーでログインできる状態なら良いのですが、全ユーザーがロックされてしまった場合は、ローカルユーザーでログインする必要があります。
ローカルユーザーは対象のPCにのみ登録しているユーザーで、初期セットアップのときに1つは登録しているユーザーです。
私の場合は、ローカルユーザーのパスワードが不明だったのでかなり苦労しました。。。
せめてPC使用するメンバー(最低限管理者)でローカルユーザーのIDとパスワードを共有しておく必要があるなと思いました。
修復の方法ですが、
- 管理者権限のユーザーでログイン
- 「コントロールパネル」⇒「システム」⇒「システムの詳細設定」⇒「コンピューター名」を開きます
- 「変更」ボタンを押下
- 「所属するグループ」で”ドメイン”にチェックが入っていると思うので、”ワークグループ”にチェックを入れ、適当なグループ名を設定します(WORK_GROUPで良いと思います)
※この時、ドメイン名をメモしておきましょう - 「OK」ボタンを押下して、ウィンドウを閉じていきます
- 再起動を要求されるので、PCを再起動します(いいえを押した場合は、後ほど再起動してください)
- 再起動したら、ローカルユーザーでログイン
- 2、3の手順を行い、4の手順で今度は”ドメイン”にチェックを入れて、メモしていたドメイン名を入力します
- 「OK」ボタンを押下します
- ドメインのパスワードを求められるので入力します(分からない場合はドメインの管理者に確認を)
- 「○○へようこそ!」のようなメッセージが表示されれば作業完了です
これで再びドメインユーザーでログインできるようになります。
他にもコマンドで復旧するやり方があるようですが、玄人じゃないとミスる可能性があるので、このやり方が確実だと思います。
コマンドで復旧する場合はログインできるユーザーがいないとダメですしね。。。
ちなみに、ローカルユーザーでもログインできない場合は、完全に詰み状態のようです。\(^o^)/
その場合は、Windowsを出荷状態に戻す作業で復活させられますよ。(データファイルは残りますが、アプリは要再インストール)
今回のマシンですが、Windows Updateを行った翌日に発生しました。
関連性のほどははっきりしませんが、一応記載しておきますね。
ちなみに、別件で明らかにWindows
Updateが原因の障害(ログイン後に画面がブラックアウト)も発生したので、同Updateに起因する障害である確率は高いと思っています。
こちらの対処法も後日記事にします。
Mask_Siva
北の試される大地に生息しているSEです。
楽しみながらプログラムを作ったり、ゲームで遊んだりしています。
AD に参加している PC にログインしようとすると、「このワークステーションとプライマリドメインとの信頼関係に失敗しました」という表示が出て、どうやってもログインできないことがあります。
そもそもの日本語がちょっと変なので、何を言っているのかわかり辛いですが、これは "The trust relationship between this workstation and the primary domain failed." を直訳したもののようです。
なんとなく AD の問題であって、こういうのはドメインからの一度該当のマシンを外して、ドメインに再参加すれば修正できるだろうというは分かります。実際に MS の公式な解説でもそのようなページも見つかります*1が、さらにいろいろと調べてみたらPowerShell を使うと意外と簡単に修復できることが分かりました。
† 確認方法
一番面倒なのは、何らかの方法で該当のマシンにログインする必要があることでしょうか。
ログインができたらコマンドプロンプトを起動して以下のコマンドを打ち込みます。
nltest /sc_query:example.jp
問題が発生している場合 0x5 ERROR_ACCESS_DENIED という戻り値が返ってくることが確認できます。
問題が解消している場合の戻り値は 0x0 NERR_Success です。
† 修正方法
修正は PowerShell を管理者権限で起動して実施します。
使うコマンドレットはTest-ComputerSecureChannel*2です。
具体的には以下のようなコマンドになります(DOMAIN_NAME, DOMAIN_ADMIN は自分のドメイン名とドメイン管理ユーザーに読み替えてください。)。
Test-ComputerSecureChannel -Repair -Credential DOMAIN_NAME\DOMAIN_ADMIN
上記の作業が完了したら、確認方法に記載してある nltest を使って、コマンドが 0x0 NERR_Success を返すことを確認します。
† エラーの発生はセキュアチャネルの破損
この現象の発生メカニズムについては「ドメインにログオンできない ~ セキュア チャネルの破損
~」に公式の詳細な解説があります。
普段、あまり意識することがない AD に登録されているコンピューターアカウントのパスワードが影響しているようです。
Windows10 「このワークステーションとプライマリドメインとの信頼関係に失敗しました」の対処
2022.09.01
この記事は約3分で読めます。
AD環境で時々発生します。
対処法をまとめてみました。
発生したトラブル
Windowsにログオンしようとすると画像のようなメッセージが表示され、ログオンできなくなる。
このワークステーションとプライマリドメインの信頼関係に失敗しました
環境
Windows 10 Pro で Active Directoryにドメイン参加済み
対処法
私の少ない経験から対処法を2つ書いていきます。
対処法1:セキュアチャネルの修復
今回のトラブルはたいていの場合セキュアチャネルが破損しています。
そのため、セキュアチャネルを修復してあげれば再びログオンできるようになる可能性が高いです。
- ログオンできないユーザーにDomain Adminsを付与する
セキュアチャネルの修復のために、Domain Adminsに対象ユーザーを追加しておきます。
- 管理者のローカルアカウントでログオンする
ADの参加ユーザーではなく、管理者権限をもつWindowsのローカルユーザーでログオンします。
ローカルユーザーでのログオンは、ユーザー名に”パソコン名\ローカルユーザー名“と入力します。
- 管理者権限でPowerShellを起動する
ローカルユーザーでログオン後、PowerShellを管理者として起動します。
- セキュアチャネルを修復する以下のコマンドを入力し、セキュアチャネルの状況を確認します。
Test-ComputerSecureChannel
Falseの場合、セキュアチャネルが破損しています。
引き続き、以下のコマンドを実行し、セキュアチャネルを修復します。
Test-ComputerSecureChannel -Repair -Credential ドメイン\ユーザー名
資格情報が要求されるので、対象ユーザーの現在のログオンパスワードを入力し『OK』します。
成功するとPowerShellでTrueが返ってきます。
対象ユーザーでログオンできれば解決です。
Domain Adminsから対象ユーザーを抜いて終わりです。
Domain Adminsにユーザー追加しないと
Domain Adminsにユーザー追加しないとPowerShellで修復ができず、以下のようにエラーメッセージが出ます。
PSC:\Windows\system32>Test-ComputerSecureChannel-Repair-Credentialドメイン\ユーザー名 Test-ComputerSecureChannel:ドメイン内のコンピューター アカウントのセキュリティで保護されたチャネルパスワードをリセットできません。次の例外が原因で操作に失敗しました:アクセスが拒否されました。(HRESULTからの例外:0x80070005(E_ACCESSDENIED))。 発生場所行:1文字:1 + Test-ComputerSecureChannel-Repair-Credentialドメイン\ユーザー名 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo :OperationStopped:(コンピューター名:String)[Test-ComputerSecureChannel],InvalidOperationException + FullyQualifiedErrorId:FailToResetPasswordOnDomain,Microsoft.PowerShell.Commands.TestComputerSecureChannelCommand |
対処法2:ドメイン再参加
セキュアチャネルの修復ができない場合などは、面倒ではありますがドメインへの再参加をします。
このページを閲覧している人であれば詳細な手順はお分かりだと思うので簡単に書きます。
- 対象ユーザーをDomain Adminsに追加する
- 対象PCのローカルユーザー(管理者)でログオンする
- ドメインからWORKGROUPへ変更する⇒再起動
- WORKGROUPからドメインへ再参加する
- ドメインユーザーでログオンできることを確認する