ある日、Windows11のPCにRDP出来なくなりました
少し前には接続できていたが、ある日を境にRDP出来なくなりました。
その時に表示されるエラーメッセージは下記の通り。
エラーコード: 0x904
拡張エラーコード: 0x7
ネットワークは接続されているし、Firewallの問題でも無さそう。
クライアントPCからRDPすると、一瞬接続しそうな雰囲気を出しますが、エラーメッセージが表示されてしまいます。
恐らくトリガーとなる出来事
以前はRDP接続できていたのですが、PCの所有者を変更すると共にPC名を変更していた。
このPC名変更をトリガーにRDPできなくなった (と思われる)
ただ、他のPCではPC名を変更した後にRDPできている個体もあるので、特定のWindowsバージョンでのみ発生するのかもしれません。
原因
RDP接続する場合、Windowsでは自己証明書を使用している (らしい)
この証明書が旧PC名のままで新PC名で更新されなかった為、クライアントから接続できなかった (と思われる)
なぜ更新されなかったのかまでは追いかけ切れていません。Windowsの不具合なのか、何か手順が必要だったのか…

対策方法
証明書を削除
- サービス一覧から リモートデスクトップサービス を停止
- 上記にスクリーンショットを張っていますが「コンピュータ証明書の管理」から リモートデスクトップ - 証明書 をクリックし、表示される証明書を削除
- 「C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys」をエクスプローラで開き、下記で始まるファイルを削除 (これが証明書の実体)
- f686aace6942fb7f7ceb231212eef4a4_xxxxxxxxx
証明書が格納されているフォルダに SYSTEMユーザ 権限を付ける
- 「C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys」のフォルダに対し、SYSTEM ユーザの権限を付与します。(読込み/書込み)
これをしないと、証明書が再生成されませんでした。
証明書の再生成
- サービス一覧から リモートデスクトップサービス を開始
サービス再起動により自動的に証明書が再生成されます。