火曜日の午前中の大半を、IT 管理者が文字通り彼から 20 フィート離れた場所にある Windows Server へアクセスしようとするのを見て過ごした。彼のノート PC は同じエラーを出し続けた: “このコンピューターはリモート コンピューターに接続できません。エラー コード: 0x904。”
厄介なのは?彼は他のサーバーには問題なく接続できた。
このエラーに対処しているなら、要点はこうだ: たいていの原因は、期限切れの RDP 証明書、破損した証明書ストア(特に Azure VM 上)Windows 11 の互換性問題、またはファイアウォールのミス構成だ。最も一般的な解決策は、サーバー上の期限切れの自己署名証明書を更新すること。Azure VM では、MachineKeys フォルダーの名前を変更することで証明書の破損問題が解決する。
私はこれらの修正を検証し、2025年に実際に効いた方法を現場の IT プロが記録したフォーラムのスレッドも掘り下げて調べた。ここに知っておくべきことをすべてまとめた。
解決策 1: 期限切れの RDP 証明書を修正
数週間にわたるトラブルシューティングの末、Reddit のあるシスアドがついに原因を突き止めました。根本原因は、自動更新されない RDP の自己署名証明書の有効期限切れでした。
これにより、同じネットワーク上でも一部のサーバーにのみエラーが発生し、他には発生しない理由が説明できます。各サーバーは独自の証明書を持っており、それが期限切れになると、RDP 接続はエラー 0x904 で失敗し始めます。
修正方法は次のとおりです:
- 影響を受けたサーバーにローカルまたは別のリモートアクセス手段でログインする。
- Win + R を押して certlm.msc と入力し、証明書の MMC スナップインを開く。
- 個人 > 証明書 または リモート デスクトップ > 証明書 に移動する。
- リモート デスクトップの証明書を探し、有効期限を確認する。
- 期限切れの場合は、右クリックして古い証明書を削除する。
- 管理者としてコマンド プロンプトを開き、次を実行してリモート デスクトップ サービスを再起動する: restart-service termserv -force
- Windows が新しい自己署名証明書を自動的に生成する。
Reddit のスレッドで複数のユーザーが、RDP 証明書の有効期限切れに気づいた後、この解決策が有効だったと確認しています。ある管理者は、有効期限切れが事前に警告を出さないため、特に紛らわしかったと述べました。後になってこのスレッドを見つけた別のユーザーは次のようにコメントしています: 「私の場合もこれが原因でした。リンクをありがとう!
この証明書の問題は、長年メンテナンスされずに稼働しているサーバーで特に一般的です。Windows は通常、期限切れの証明書を自動的に再作成しますが、MachineKeys フォルダーの権限の問題により、それが行われないことがあります。
解決策 2: Azure VM の証明書破損を修復する
Azure 仮想マシンに接続する場合、エラー 0x904 を引き起こす特定の証明書破損の問題が存在します。Azure VM 上で証明書関連の操作がすべてエラーを投げていることを発見した後、IT プロフェッショナルがこの修正方法を記録しています。
問題は、RDP が新しい自己署名証明書を作成できなくなる破損した証明書ストアに起因します。修正は驚くほど簡単です:
- Azure ポータルから Azure VM にアクセスします。
- VM を開き、Run command を選択し、RunPowerShellScript を選びます。
- 次のコマンドを入力します:
Rename-Item -path "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" -NewName "MachineKeys_old" - サーバーを再起動します。
再起動後、Windows はクリーンな証明書を含む新しい MachineKeys フォルダーを作成します。この解決策を見つけた管理者は、証明書の操作が失敗していることに気づくまで Azure コンソールで数時間トラブルシューティングを行いました。MachineKeys フォルダーの名前を変更して再起動すると、RDP 接続はすぐに機能しました。
直接アクセスできる Azure 以外のマシンでは、管理者としてこの PowerShell コマンドをローカルで実行して再起動してください。これは Azure VM だけでなく、証明書ストアの破損が発生しているあらゆる Windows Server で有効です。
解決策 3: Windows 11 の互換性に関する回避策
Windows 11 は、特に 22H2 以降のビルドに影響する RDP の互換性上の不具合をいくつか導入しました。 Microsoft サポートによると、ホスト名ではなくサーバーの IP アドレスを使用することで、多くのユーザーで問題を回避できます。
これは、RDP 接続におけるホスト名解決の扱いに関する Windows 11 のバグであるようです。回避策は簡単です:
- リモートコンピューターの IP アドレスを確認します(ネットワーク管理者に尋ねるか、リモートマシンで
ipconfigを実行します) - リモート デスクトップ接続で、コンピューター名の代わりに 192.168.1.100 のような IP アドレスを入力します。
- 通常どおり接続します。
それでもうまくいかない場合は、内蔵のリモート デスクトップ接続ではなく、Windows ストアの RDP アプリを試すことを Microsoft は推奨しています。Elise という名前の Microsoft サポート エンジニアが次のように確認しています。Microsoft Store の RDP クライアント アプリは、この問題の影響を受けていないようです。
ストア版はネットワーク処理のコードがやや異なり、Windows 11 で 0x904 エラーを引き起こしている原因を回避できることがよくあります。これは、IP アドレスではなくホスト名での接続が必要な AWS IAM サーバーに接続する場合に特に有用です。
解決策 4: ファイアウォールの設定を適切に行う
Windows Defender ファイアウォールは、許可されていると思っていても、RDP をブロックしてしまうことがあります。すべてを正しく構成したと断言する経験豊富な管理者でも、これでつまずくのを見てきました。
実際に機能する完全なファイアウォール設定は次のとおりです:
-
Win + S を押して、Windows ファイアウォールを通じてアプリを許可する。と入力します。
-
設定の変更をクリックします (管理者権限が必要です)。
-
プライベート ネットワークとパブリック ネットワークの両方で、リモート デスクトップおよびリモート デスクトップ (WebSocket) にチェックを入れてください。
-
別のアプリの許可をクリックし、次に参照をクリックします。
-
C:\Windows\System32\mstsc.exe に移動して選択します。
-
Add をクリックし、Private と Public の両方のボックスにチェックが入っていることを確認してください。
-
OK をクリックします。
クライアントコンピューターとリモートサーバーの両方でこれを行ってください。注意点として、設定が一つでも誤っていると、接続がエラー 0x904 で失敗する可能性があります。
場合によっては、ポート 3389 が開いていることを確認する必要もあります。PowerShell から次のコマンドでテストできます:
Test-NetConnection [server_name] -Port 3389。接続テストが失敗する場合、ファイアウォールが RDP トラフィックをブロックしています。元のトラブルシューティングのスレッドで、ある Reddit ユーザーは影響を受けたサーバーの1台でファイアウォールを完全に無効化してみましたが、効果はありませんでした。これは、特に証明書の問題もある場合には、ファイアウォールの対策は他の解決策と組み合わせたときに最も効果的であることを示唆しています。
HelpWire を選ぶ理由
IT の専門家が RDP エラーのトラブルシューティングに何時間も費やすのを見て、多くの人が専用のリモートサポートツールに切り替えている理由がわかりました。HelpWire は Windows のリモート デスクトップ プロトコルに依存していないため、証明書の有効期限切れの問題を完全に回避します。
IT サポート技術者や MSP にとっては、信頼性が何よりも重要です。クライアントのコンピューターのトラブルシューティングを支援しているときに、本来の問題に取り組む前に接続方法の修正に 30 分も費やす余裕はありません。
HelpWire は、互換性の問題に悩まされることなく、さまざまな Windows バージョンで動作します。有効期限が切れる証明書も、グループ ポリシーの競合も、Windows 11 の癖への対処も不要です。一貫性があり信頼できるアクセスが必要なリモートサポートのシナリオ向けに設計されています。
結論
まずは証明書の問題の修正から始めてください。これは、エラー 0x904 に対処していた多くの IT 管理者で問題を解決した方法です。RDP 証明書の有効期限が切れていないか確認し、削除して、リモート デスクトップ サービスを再起動し、Windows に新しい証明書を生成させます。
Azure を使用している場合は、MachineKeys フォルダーの修正が最善策です。Windows 11 で問題が発生している場合は、IP アドレスで接続するか、Microsoft Store の RDP アプリを使用してみてください。接続の両端でファイアウォール設定を確認することも忘れないでください。
このエラーがランダムに感じられるのは、証明書がバックグラウンドで静かに期限切れになるためです。何カ月も問題なく RDP 接続できていても、証明書の有効期限が切れたときに突然 0x904 に遭遇することがあります。これで、何を確認すべきかが分かったはずです。
よくある質問
エラー 0x904 は、お使いのコンピューターがリモート マシンへのリモート デスクトップ接続を確立できないことを示します。これは通常、拡張エラー コード 0x7 とともに表示され、最も一般的な原因はサーバー上の RDP 証明書の有効期限切れです。証明書ストアの破損(特に Azure の VM で)Windows 11 の互換性の問題、またはファイアウォールの誤設定もこのエラーを引き起こすことがあります。
はい、HelpWire のような専用のリモートサポートツールは Windows の RDP とは異なる接続プロトコルを使用するため、エラー 0x904 に遭遇したり、証明書の有効期限切れの問題に対処したりすることはありません。ただし、RDP 接続をトンネリングするツール(RustDesk など)を使用している場合は、このエラーに直面する可能性があります。RDP を完全に迂回するツールのほうが、証明書関連の問題なく安定したリモートアクセスを実現するうえで、より信頼性があります。