リモート デスクトップ プロトコル (RDP)Microsoft が開発した独自のプロトコルで、ネットワーク接続を介して別のコンピュータに接続するためのグラフィカル インターフェイスをユーザーに提供します。ユーザーはこの目的のために RDP クライアント ソフトウェアを使用しますが、他のコンピュータでは RDP サーバー ソフトウェアを実行する必要があります。この投稿では、その方法について説明します。一般的なリモート デスクトップ接続の問題のトラブルシューティングWindows 11/10の場合。
リモート デスクトップ接続の問題を修正する
次のトラブルシューティング手順を試してください。リモート デスクトップ クライアントが動作しないまたはリモートデスクトップに接続できないただし、原因の特定に役立つメッセージやその他の症状は提供されません。
1] ローカル コンピューター上の RDP プロトコルのステータスを確認します。
次のことを行う必要がありますリモートデスクトップを有効にするローカル コンピューター上の RDP プロトコルのステータスを確認および変更します。また、コマンド プロンプトまたは PowerShell を使用してリモート デスクトップを有効にする。
2] リモート コンピューター上の RDP プロトコルのステータスを確認します。
リモート コンピューター上の RDP プロトコルのステータスを確認および変更するには、ネットワーク レジストリ接続を使用します。
これはレジストリ操作であるため、次のようにすることをお勧めします。レジストリをバックアップするまたはシステムの復元ポイントを作成する必要な予防措置として。完了したら、次のように続行できます。
- Windows キー + R を押して、「ファイル名を指定して実行」ダイアログを呼び出します。
- [ファイル名を指定して実行] ダイアログ ボックスで、次のように入力します。
regedit
Enter キーを押して、レジストリエディタを開く。 - レジストリ エディターで、次を選択します。ファイルを選択し、ネットワークレジストリに接続する。
- でコンピュータの選択ダイアログ ボックスに、リモート コンピュータの名前を入力します。
- 選択名前を確認します。
- 選択わかりました。
- 次、レジストリ キーに移動またはジャンプします以下のパス:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
- その場所の右側のペインで、fDenyTS接続キーを押してプロパティを編集します。
- RDPを有効にするには、次の値のデータを設定します。fDenyTS接続から1に0。
値 0 は RDP が有効であることを示し、値 1 は RDP が無効であることを示します。
関連している:リモート デスクトップ オプションがグレー表示されるWindows 11/10では、
3] グループ ポリシー オブジェクト (GPO) がローカル コンピューター上の RDP をブロックしているかどうかを確認します
ユーザー インターフェイスまたは値で RDP をオンにできない場合は、GPO がコンピューター レベルの設定をオーバーライドしている可能性があります。fDenyTS接続に戻ります1それを変更した後
ローカル コンピューター上のグループ ポリシー構成を確認するには、次の手順を実行します。
- プレスWindowsキー+Rをクリックして「実行」ダイアログを呼び出します。
- [ファイル名を指定して実行] ダイアログ ボックスで、次のように入力します。
cmd
そして、 を押しますCTRL + SHIFT + Enterにコマンドプロンプトを管理者/昇格モードで開きます。 - コマンド プロンプト ウィンドウで、以下のコマンドを入力し、Enter キーを押します。
gpresult /H c:\gpresult.html
- コマンドが実行されたら、gpresult.html を開きます。
- コンピュータの構成\管理用テンプレート\Windows コンポーネント\リモート デスクトップ サービス\リモート デスクトップ セッション ホスト\接続で、ユーザーがリモート デスクトップ サービスを使用してリモート接続できるようにするポリシー。
このポリシーの設定が有効, グループ ポリシーは RDP 接続をブロックしていません。このポリシーの設定が無効、 チェックGPOの受賞。これは、RDP 接続をブロックしている GPO です。
読む:リモート デスクトップが停止します。しばらくお待ちください
4] GPO がリモート コンピューター上の RDP をブロックしているかどうかを確認します
リモート コンピューター上のグループ ポリシー構成を確認するには、管理者特権の CMD プロンプトで以下のコマンドを実行します。
gpresult /S <computer name> /H c:\gpresult-<computer name>.html
このコマンドで生成されるファイル (gpresult-<computer name> .html) は、ローカル コンピュータのバージョン (gpresult.html)を使用します。
5] ブロッキング GPO を変更する
これらの設定は、グループ ポリシー オブジェクト エディター (GPE) で変更できます。グループ ポリシー管理コンソール (GPMC)。
ブロック ポリシーを変更するには、次のいずれかの方法を使用します。
GPE を使用して、次の操作を実行します。
- プレスWindowsキー+Rをクリックして「実行」ダイアログを呼び出します。
- [ファイル名を指定して実行]ダイアログ ボックスに次のように入力します。
gpedit.msc
Enter キーを押して、グループポリシーエディターを開く。 - ローカル グループ ポリシー エディター内で、左側のペインを使用して以下のパスに移動します。
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
- その場所の右側のペインで、ユーザーがリモート デスクトップ サービスを使用してリモート接続できるようにする.プロパティを編集します。
- ポリシーを次のいずれかに設定します有効または未設定。
- クリック適用する>わかりましたそして出ます。
- 影響を受けるコンピューターで、管理者としてコマンド プロンプト ウィンドウを開き、以下のコマンドを実行します。
gpupdate /force
GPMC を使用して、影響を受けるコンピューターにブロック ポリシーが適用されている組織単位 (OU) に移動し、OU からポリシーを削除します。
6] RDPサービスのステータスを確認する
ローカル (クライアント) コンピューターとリモート (ターゲット) コンピューターの両方で、次のサービスが実行されている必要があります。
- リモート デスクトップ サービス (TermService)
- リモート デスクトップ サービス ユーザーモード ポート リダイレクター (UmRdpService)
いずれかのコンピュータで、一方または両方のサービスが実行されていない場合は、それらのサービスを開始します。
次のことを実行します。
- プレスWindowsキー+Rをクリックして「実行」ダイアログを呼び出します。
- [ファイル名を指定して実行] ダイアログ ボックスで、次のように入力します。
services.msc
Enter キーを押して、サービスを開く。 - 「サービス」ウィンドウで、スクロールして前述の両方のサービスを見つけます。
- エントリをダブルクリックして、そのプロパティを編集します。
- プロパティウィンドウで、始めるボタン。
- クリックわかりました。
PowerShell を使用してサービスをローカルまたはリモートで管理することもできます (リモート コンピューターがリモート PowerShell コマンドレットを受け入れるように構成されている場合)。
7] RDPリスナーのステータスを確認する
同じコマンドレットがローカルとリモートの両方で機能するため、この手順では PowerShell を使用します。ローカル コンピューターの場合は、管理者権限を持つコマンド プロンプトを使用することもできます。
リモート コンピュータに接続するには、次の手順を実行します。
- プレスWindows キー + Xにパワーユーザーメニューを開く。
- タップあキーボードでPowerShellを起動する管理者/昇格モード。
- PowerShell コンソールで、以下のコマンドを入力して Enter キーを押します。
Enter-PSSession -ComputerName <computer name>
- 入力
qwinsta
。
リストに含まれている場合rdp-tcpのステータスで聞く, 上の画像に示すように、RDP リスナーは動作しています。にジャンプしますトラブルシューティング手順10]下に。それ以外の場合は、動作しているコンピューターから RDP リスナー構成をエクスポートする必要があります。
次のことを実行します。
- 影響を受けるコンピューターと同じオペレーティング システムのバージョンを搭載したコンピューターにサインインし、そのコンピューターのレジストリにアクセスします。
- 次のレジストリ エントリに移動またはジャンプします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- エントリを .reg ファイルにエクスポートします。。
- エクスポートされた .reg ファイルを影響を受けるコンピューターにコピーします。
- RDP リスナー構成をインポートするには、影響を受けるコンピューター上で管理者権限を持つ PowerShell ウィンドウを開きます (または、PowerShell ウィンドウを開いて影響を受けるコンピューターにリモートで接続します)。
既存のレジストリ エントリをバックアップするには、次のコマンドレットを入力します。
cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'
既存のレジストリ エントリを削除するには、次のコマンドレットを入力します。
Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force
新しいレジストリ エントリをインポートしてサービスを再起動するには、以下のコマンドレットを実行します。交換してください<filename>
エクスポートされた .reg ファイルの名前のプレースホルダー。
cmd /c 'regedit /s c:\<filename>.reg' Restart-Service TermService -Force
コマンドレットの実行が完了したら、リモート デスクトップ接続を再試行して構成をテストできます。それでも接続できない場合は、影響を受けるコンピューターを再起動します。
それでも接続できない場合は、次のトラブルシューティング手順に進みます。RDP 自己署名証明書のステータスを確認する。
8] RDP自己署名証明書のステータスを確認します
それでも接続できない場合は、次の手順を実行します。
- を押します。Windowsキー+Rをクリックして「実行」ダイアログを呼び出します。
- [ファイル名を指定して実行] ダイアログ ボックスで、次のように入力します。
mmc
Enter キーを押して、Microsoft管理コンソールを開く。 - をクリックします。ファイルメニュー。
- 選択スナップインの追加/削除。
- 選択証明書スナップインのリストから。
- クリック追加。
- 管理する証明書ストアを選択するように求められたら、コンピューターアカウント。
- クリック次。
- 影響を受けるコンピュータを選択します。
- をクリックします。仕上げるボタン。
- クリックわかりました。
- さて、証明書下のフォルダリモートデスクトップ、RDP 自己署名証明書を削除します。
- 影響を受けるコンピューターで、リモート デスクトップ サービス サービスを再起動します。
- 証明書スナップインを更新します。
- RDP 自己署名証明書が再作成されていない場合は、MachineKeys フォルダーのアクセス許可を確認してください。
9] MachineKeysフォルダーの権限を確認します
影響を受けるコンピュータで次の手順を実行します。
- プレスWindowsキー+Eにファイルエクスプローラーを開く。
- 以下のディレクトリ パスに移動します。
C:\ProgramData\Microsoft\Crypto\RSA\
- その場所で右クリックしますマシンキー、選択しますプロパティ、選択します安全を選択し、高度な。
次の権限が設定されていることを確認してください。
- 組み込み\管理者:フルコントロール
- みんな:読み取り、書き込み
10] RDPリスナーポートを確認します
ローカル (クライアント) コンピューターとリモート (ターゲット) コンピューターの両方で、RDP リスナーはポート 3389 をリッスンする必要があります。他のアプリケーションがこのポートを使用しないでください。
RDP ポートを確認または変更するには、レジストリ エディターを使用します。予防措置として、レジストリをバックアップするか、システムの復元ポイントを作成してから、次の手順を続行します。
- レジストリ エディターを開き、選択しますファイルを選択し、ネットワークレジストリに接続する。
- でコンピュータの選択ダイアログ ボックスに、リモート コンピュータの名前を入力します。
- 選択名前を確認します。
- 選択わかりました。
- 次、レジストリ キーに移動またはジャンプします以下のパス:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- その場所の右側のペインで、ポート番号プロパティを編集するためのエントリです。
- プロパティ ウィンドウで、[値のデータ] フィールドに次の値以外の値がある場合、3389に変更します3389。
- クリックわかりましたをクリックして変更を保存します。
- リモート デスクトップ サービス サービスを再起動します。
11] 別のアプリケーションが同じポートを使用していないか確認してください
次のことを実行します。
- PowerShell を管理者特権モードで開きます。
- リモート コンピューターに接続するには、次のコマンドを実行します。
Enter-PSSession -ComputerName <computer name>
次に、次のコマンドを実行します。
cmd /c 'netstat -ano | find "3389"'
- ステータスが次の TCP ポート 3389 (または割り当てられた RDP ポート) のエントリを探します。リスニング。
注記: そのポートを使用するプロセスまたはサービスのプロセス識別子 (PID) が [PID] 列の下に表示されます。
- どのアプリケーションがポート 3389 (または割り当てられた RDP ポート) を使用しているかを確認するには、次のコマンドを入力します。
cmd /c 'tasklist /svc | find "<pid listening on 3389>"'
- ポートに関連付けられている PID 番号のエントリを探します (
netstat
出力)。その PID に関連付けられているサービスまたはプロセスが右側の列に表示されます。 - リモート デスクトップ サービス (TermServ.exe) 以外のアプリケーションまたはサービスがポートを使用している場合は、次のいずれかの方法を使用して競合を解決できます。
別のポートを使用するように他のアプリケーションまたはサービスを構成します (推奨)。
他のアプリケーションまたはサービスをアンインストールします。
別のポートを使用するように RDP を構成し、リモート デスクトップ サービス サービスを再起動します (推奨されません)。
12] ファイアウォールが RDP ポートをブロックしていないか確認します
使用できます湧き出るポート 3389 を使用して影響を受けるコンピュータにアクセスできるかどうかをテストするツール。
次のことを実行します。
- 影響を受けていない別のコンピュータに移動し、ダウンロード湧き出る。
- 管理者としてコマンド プロンプト ウィンドウを開き、インストールしたディレクトリに移動します。湧き出るをクリックし、次のコマンドを入力します。
psping -accepteula <computer IP>:3389
- の出力を確認してください湧き出るコマンドを実行すると、次のような結果が得られます。
接続先<computer IP>: リモート コンピュータに到達可能です。
(損失0%): 接続試行はすべて成功しました。
リモートコンピュータがネットワーク接続を拒否しました: リモート コンピュータにアクセスできません。
(100%損失): 接続の試行はすべて失敗しました。
- 走る湧き出る複数のコンピュータでテストして、影響を受けるコンピュータに接続できるかどうかをテストします。
- 影響を受けるコンピュータが他のすべてのコンピュータからの接続をブロックするのか、他の一部のコンピュータからの接続をブロックするのか、または他の 1 台のコンピュータのみからの接続をブロックするのかに注意してください。
実行できる追加の手順には以下が含まれます。
- ネットワーク管理者に依頼して、影響を受けるコンピューターへの RDP トラフィックがネットワークで許可されていることを確認してください。
- ソース コンピューターと影響を受けるコンピューターの間のファイアウォールの構成 (影響を受けるコンピューター上の Windows ファイアウォールを含む) を調査し、ファイアウォールが RDP ポートをブロックしているかどうかを判断します。
この投稿が、発生している可能性のある RDP 接続の問題のトラブルシューティングに役立つことを願っています。