次の方法で共有


リモート デスクトップからリモート コンピューターに接続できない

この記事は、リモート コンピューターに接続するときのエラーのトラブルシューティングに役立ちます。

直接リモート デスクトップ プロトコル (RDP) 接続を使用して Windows マシンに接続すると、次のいずれかのエラーで接続が失敗します。 このエラーは、リモート デスクトップ接続アプリケーションで認証情報を入力する前または後に発生します。

  • [Remote Desktop can't connect to the remote computer for one of these reasons:]\(リモート デスクトップが次のいずれかの理由のためにリモート コンピューターに接続できません。\)

    1) サーバーへのリモート アクセスが有効になっていない
    2) リモート コンピュータの電源がオフになっている
    3) リモート コンピューターがネットワーク上で使用できない

    [Make sure the remote computer is turned on and connected to the network, and that remote access is enabled.]\(リモート コンピューターの電源が入っており、ネットワークに接続されていること、リモート アクセスが有効なことを確認してください。\)

  • このコンピューターはリモート コンピューターに接続できません。

    接続を再試行してください。 問題が解決しない場合は、リモート コンピューターの所有者またはネットワーク管理者に問い合わせてください。

考えられる根本原因はいくつかありますが、主な原因は RDP-TCP リスナーが機能せず、ネットワーク構成が正しくない場合です。

まず、マシンが実行されているかどうかを確認します。 実行中で、コンソールアクセス権 (物理マシンの場合は Integrated Lights Out (iLO)、仮想マシンの場合は Hyper-V コンソールなど) がある場合は、それを介してマシンに接続することをテストします。 成功した場合は、エラーが RDP-TCP リスナーに関連付けられている場合は、 検証に進みます

次のシナリオの詳細については、Microsoft サポートにお問い合わせください。

  • マシンを実行中の状態にすることはできません。
  • マシンは実行中の状態ですが、マシンへのコンソール アクセスは失敗します。

qwinsta コマンドを実行して、RDP-TCP リスナーが機能する RDP 接続に対して動作しているかどうかを確認します。

C:\Windows\System32>qwinsta
 SESSIONNAME    USERNAME    ID    STATE    TYPE    DEVICE
 services                   0     Disc
>console                    1     Active
 rdp-tcp                    65536 Listen

出力リストにListen状態のrdp-tcp行が含まれている場合、RDP-TCP リスナーが実行されています。 エラーがネットワークに関連している場合は、 検証に進みます

それ以外の場合は、次の方法を使用して問題のトラブルシューティングを行います。

レジストリ構成を確認する

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前にレジストリをバックアップして、問題が発生した場合にレジストリを復元できるようにします。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。

レジストリ エディターを開き、これらのキーが次のように設定されていることを確認します。

  • DWORD 値 fEnableWinStation には、 1 の値データがあります。

    既定のパス: Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp

  • DWORD 値 fDenyTSConnections には、 0 の値データがあります。

    • 既定のパス: Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
    • ポリシー パス (ポリシーが構成されている場合): Computer\HKEY\_LOCAL\_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

Note

ポリシーは既定の構成をオーバーライドし、 gpedit.msc (ローカル) または gpmc.msc (ドメイン レベル) で構成する必要があります。

ポリシーと既定値の両方が構成されている場合は、リスナーの問題を回避するために、 fDenyTSConnections 値の両方が 0 に設定されていることを確認します。

サービスの確認

次のサービスが実行されていることを確認します。

  • リモート デスクトップ サービス (TermService)。
  • リモート デスクトップ サービス UserMode ポート リダイレクター (UmRdpService)。

いずれかのサービスの開始に失敗した場合は、Microsoft サポートにお問い合わせください。

アクセス許可を確認してください

影響を受けるコンピューターのローカル管理者グループにネットワーク サービスを追加し、管理者特権セッションで次の PowerShell コマンドレットを実行します。

Add-LocalGroupMember -Group Administrators -Member "Network Service"

その後、リモート デスクトップ サービス サービス (TermService) を再起動します。

sysprep の状態を確認する

レジストリ エディターを開き、次のキーを確認して、マシンが Sysprep 状態になっていないことを確認します。

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\Setup

DWORD 値 SystemSetupInProgressOOBEInProgress の両方が 0 に設定されます。

RDP-TCP サブキーを置き換える

同じ Windows バージョンの機能しているコンピューターで、次のサブキーをエクスポートします。

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

影響を受けるコンピューター上の既存のキーをバックアップします。 次に、それを削除し、機能しているコンピューターからエクスポートされたサブキーに置き換えます。

Note

RDP-Tcp サブキーが削除された状態で RDP 経由でマシンにアクセスすることはできません。

Microsoft サポートに問い合わせる

上記の手順で RDP-TCP リスナーが機能しない問題を解決できない場合は、Microsoft サポートにお問い合わせください。

RDP-TCP リスナーが動作している場合は、次の手順を使用して、コンソール セッション (物理マシンの場合は iLO、仮想マシンの場合は Hyper-V コンソールなど) を介してサーバーに接続できるかどうかを確認します。

  1. Run ボックスに「mstsc」と入力して、Remote Desktop Connection アプリケーションを開きます。
  2. リモート デスクトップ接続 アプリケーションで、Computer ボックスに「localhost」と入力し、Connect を選択します。

エラーが解決しない場合、問題はサーバーにあります。 verify マシンの構成とロールに移動します

エラーが発生しなくなった場合は、おそらくネットワークに関連しており、次の手順でさらに問題が発生する可能性があります。

Note

上記のテストは Windows Server マシンでのみ可能であり、すべての機会 (Azure 仮想マシンなど) で使用できるわけではありません。

使用できない場合、または使用できない場合は、同じネットワーク内のコンピューターから Test-NetConnection コマンドレットを使用して接続をテストします。

接続の問題を確認するには、同じネットワーク内のコンピューターから次の手順を実行します。

  1. 管理者特権の PowerShell ウィンドウを開き、次のコマンドレットを実行します。

    Test-NetConnection -ComputerName <www.contoso.com> -port 3389 -InformationLevel Detailed
    
  2. 出力リストで、 TcpTestSucceededTrueされている場合、接続の問題がないことを示します。 verify マシンの構成とロールに移動します

  3. TcpTestSucceededFalseされている場合は、接続の問題を示します。 次の手順に進みます。

既定の RDP ポートを確認する

レジストリ エディターを開き、次のキーが次のように設定されていることを確認します。

Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp

DWORD 値 PortNumber の値は 0x00000d3d (3389)

値が異なる場合、 リモート デスクトップ接続 接続では、コンピューター名として hostname:port または IPaddress:port を使用する必要があります。

ドメイン ネーム システム (DNS) の解決を確認する

マシンのホスト名を使用しているときに接続に失敗した場合は、その IP アドレスを使用して接続してみてください。

  • 接続が IP アドレスで機能する場合、問題は名前解決に関連している可能性があります。
  • 接続も IP アドレスで失敗する場合は、次のトラブルシューティング手順に進みます。

ファイアウォールまたはネットワーク セキュリティ グループの構成を確認する

ファイアウォール規則でマシンへの RDP が許可されているかどうか、またはファイアウォールが無効になっているかどうかを確認します。

wf.mscを開き、[送信ルール] を選択し[リモート デスクトップ - ユーザー モード (TCP-In)]と [リモート デスクトップ - ユーザー モード (UDP-In)] 探します。 すべてのプロファイルで有効になっていることを確認します。

管理者特権セッションで次の PowerShell コマンドレットを使用すると、同じ結果を得ることができます。

Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Set-NetFirewallRule -Enabled True

ファイアウォールを除外するには、PowerShell コマンドレットを使用して無効にすることができます。

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

他のネットワーク要素がトラフィックを制限している場合は、チェックする必要があります。

Azure Cloud を使用する場合は、ネットワーク セキュリティ グループ (NSG) がサブネットまたはネットワーク インターフェイス カード (NIC) への RDP を許可するように構成されているかどうかを確認します。 パブリック IP アドレスに標準 SKU 使用する場合、NSG は必須です

ウイルス対策の確認 (AV)

ウイルス対策は、マシンへの RDP 接続に悪影響を及ぼす可能性があります。 可能であれば、AV サービスを無効にし、接続をテストします。

AV を根本原因として完全に除外するには、アンインストールしてマシンを再起動します。

Microsoft サポートに問い合わせる

上記の手順で問題を解決できない場合は、RDP-TCP リスナーが動作しており、接続テストの結果がFalse場合は、Microsoft サポートにお問い合わせください。

マシンの構成とロールを確認する

RDP-TCP リスナーが動作していて、マシンへの接続テストの結果が True場合は、マシンのプロセス、ロール、または構成に関連するその他のシナリオを確認する必要があります。

既定の RDP ポートを使用して同時実行プロセスを確認する

管理者特権のコマンド プロンプトまたは PowerShell ウィンドウで次のコマンドを実行し、 TermService のプロセス ID (PID) がポート 3389 でリッスンしているプロセス ID (PID) と一致することを確認します。

  • tasklist /svc | findstr TermService
    
  • netstat -anob | findstr 3389
    

たとえば、PID 820 の TermService はポート 3389 でリッスンしています。

C:\Windows\System32>tasklist /svc | findstr TermService
svchost.exe        820 TermService

C:\Windows\System32>netstat -anob | findstr 3389
  TCP    0.0.0.0:3389    0.0.0.0:0    LISTENING    820
  TCP    [::]:3389       [::]:0       LISTENING    820
  UDP    0.0.0.0:3389    *:*                       820
  UDP    [::]:3389       *:*                       820

PID が一致しない場合は、ポート 3389 でリッスンしているプロセスを見つけて停止します。 次に、リモート デスクトップ サービス サービス (TermService) を再起動します。

リモート デスクトップの自己署名証明書を確認する

次の手順に従って、リモート デスクトップの自己署名証明書を再作成できるかどうかを確認します。

  1. 証明書 Microsoft 管理コンソール (MMC) スナップインを開きます。 管理する証明書ストアを選択するように求められたら、 Computer アカウントを選択し、影響を受けるコンピューターを選択します。
  2. [証明書] フォルダーの [リモート デスクトップ] で、RDP 自己署名証明書を削除します。
  3. 影響を受けるコンピューターでリモート デスクトップ サービス サービスを再起動します。
  4. Certificates スナップインを更新します。
  5. RDP 自己署名証明書が再作成されない場合は、 Remote Desktop 自己署名証明書に移動します。
  6. RDP 自己署名証明書が再作成された場合は、次の手順に進みます。

リモート デスクトップ サービス (RDS) の役割を確認する

不要な RDS ロールが サーバー マネージャー>Manage>Remove Roles and Features>Server Roles - Remote Desktop Services にインストールされているかどうかを確認します。

不要なロールがインストールされている場合は、対応するボックスをオフにして、削除に進みます (たとえば、リモート デスクトップ接続ブローカーの役割)。 最後にマシンを再起動します。

RDS 展開でリモート デスクトップ接続ブローカーの役割を持つマシンは、次の条件が満たされていない場合でも問題が発生する可能性があります。

  • リモート デスクトップ接続ブローカー サービス (TSSDis) が実行されているかどうかを確認します。
  • コンピューター管理 (compmgmt.msc) スナップインでは、 System Tools>ローカル ユーザーとグループ>グループ>RDS エンドポイント サーバー グループに、 NT AUTHORITY\NETWORK SERVICE アカウントが含まれている必要があります。

Microsoft サポートに問い合わせる

上記の手順で問題を解決できない場合は、RDP-TCP リスナーが動作しており、接続テストの結果がTrue場合は、Microsoft サポートにお問い合わせください。