コマンドラインツールでリモートデスクトップをアクティブ化する方法
コマンドツールを使ってWindows 11/10でリモートデスクトップを設定する方法
別のマシンにあるファイルやプログラムにアクセスしたいけれど、毎回面倒な設定はしたくない、そんな時にリモートデスクトップはまさに救世主です。しかし、WindowsではGUIオプションが機能しない場合や、すぐに解決したい場合など、リモートデスクトップが不必要に複雑に感じられることがあります。そんな時に活躍するのが、コマンドプロンプトやPowerShellといったコマンドラインツールです。最初は難しそうに感じるかもしれませんが、一度使い方に慣れてしまえば、リモートデスクトップの有効化や無効化は非常に簡単になり、特にスクリプトを作成したり、複数のPCを修理したりする場合には、より速く操作できるようになります。ただし、これらの方法は、システムレジストリやファイアウォールルールを少し深く掘り下げても構わないという人向けであることを覚えておいてください。
リモートデスクトップが有効になっているのに、ファイアウォールの制限やレジストリ設定などが原因で動作しない場合は、これらの修正で大幅に時間を節約できます。これらのコマンドを実行すると、ユーザー権限がすべて設定され、ファイアウォールルールも適切に設定されていれば、リモート接続のオプションが表示されるはずです。ただし、リモートデスクトップを有効にした後、正しく登録してスムーズに動作させるには、再起動が必要な場合があります。これはWindowsの避けられない問題です。
コマンドプロンプトを使用してリモートデスクトップを有効にする
コマンドプロンプトを使えば、リモートデスクトップのオン/オフを素早く切り替えることができます。コマンドに慣れていて、GUIをいじりたくない場合は、この方法が便利です。ここで重要なのは、リモートデスクトップへのアクセスを制御するWindowsレジストリ設定を変更することです。少し奇妙ですが、値を1から0に変更するとオフになり、その逆も同様です。
方法1:電源を入れる
- まず、コマンドプロンプトを管理者として起動します。 を押して とWindows + S入力し
CMD、一番上の検索結果を右クリックして「管理者として実行」を選択します。UACプロンプトを確認します。 - 次に、このコマンドをコピーしてコンソールに貼り付け、Enter キーを押します。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
このコマンドは、リモートデスクトップ接続を許可するレジストリキーを反転します。設定によっては、完全に有効にするには再起動が必要になる場合がありますが、多くの場合はすぐに機能します。
ファイアウォール経由でリモートデスクトップを有効にする
- Windowsファイアウォールがポートをブロックしている場合、RDPを有効にするだけでは不十分です。以下のコマンドを実行してください。
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
これにより、リモート接続の受信を許可するために必要なファイアウォールルールが付与されます。一部のマシンでは、コントロールパネル > Windows Defender ファイアウォール > 許可されたアプリから Windows ファイアウォールルールを手動で確認する必要がある場合があります。
両方のコマンドが完了したら、再起動だけで十分です。再度サインインすれば、リモートデスクトップ経由で接続できるようになります。設定によっては、ファイアウォールルールを有効にするだけで十分な場合もありますが、変更を反映するには再起動が必要な場合がありますので、ご注意ください。
コマンドプロンプトを使用してリモートデスクトップを無効にする
もう気にならなくなった?あるいはトラブルシューティングのために一時的にシャットダウンしたい?問題ありません。手順を逆にするだけです。
- 管理者としてコマンドプロンプトを再度開きます。
- このコマンドを貼り付けてEnter キーを押します:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
これにより、レジストリ値が新しいリモートセッションを拒否するように設定されます。ファイアウォール経由のアクセスを禁止するには、以下を実行します。
netsh advfirewall firewall set rule group="remote desktop" new enable=No
その後再起動すると、リモートデスクトップが無効になります。設定によっては、念のため、GUIで機能が完全にオフになっていることを再度確認することをお勧めします。
PowerShell を使用して Windows 11/10 でリモート デスクトップを有効または無効にする
PowerShell をご利用の場合、または複数のデバイスをリモートで管理している場合は、こちらが適しています。PowerShell の方がよりエレガントでスクリプト作成にも適しています。コマンドはほぼ同じで、PowerShell の構文を使用しているだけです。
リモートデスクトップを有効にするには
- Windows アイコンを右クリックし、[ターミナル (管理者)]または[Windows PowerShell (管理者)]を選択します。
- UAC プロンプトに対して[ はい ]をクリックして確認します。
- このコマンドを貼り付けてEnter キーを押します:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0
レジストリキーを変更することで、リモートデスクトップが有効になります。再起動後に有効になると思われますが、場合によっては即座に有効になることもあります。
PowerShell を使用して Windows ファイアウォール経由で RDP を許可する
- ファイアウォール経由でリモート デスクトップを許可するには、次のコマンドを実行します。
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
その後、再起動するとすべての設定が完了します。これで、別のデバイスからリモートデスクトップ経由で接続できるようになります。
PowerShellでリモートデスクトップを無効にするには
- PowerShell を再度管理者として開きます ( Win + X、Windows ターミナル (管理者)を選択)。
- リモート接続を無効にするには、これを実行します。
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 1 - ファイアウォール ルール チェックを削除するには:
Disable-NetFirewallRule -DisplayGroup "Remote Desktop"
その後すぐに再起動すれば、リモート接続はオフになります。とても簡単です。
まとめ
正直なところ、レジストリやファイアウォールのコマンドをいじるのは、ユーザーフレンドリーな方法とは言えませんが、特にGUIメソッドが壊れていたり、非常に時間がかかる場合には、驚くほど効果的です。マシンによってはコマンドの実行に再起動や再試行が必要になる場合もありますが、一度完了すればリモート接続がはるかにスムーズになります。ただし、レジストリの編集には注意が必要です。Enterキーを押す前に、コマンドを再確認してください。
まとめ
- リモート デスクトップをすばやく有効化/無効化するには、コマンド プロンプトまたは PowerShell を使用します。
- 期待どおりに動作しない場合は、レジストリ設定とファイアウォール ルールを確認してください。
- 変更を加えた後は、すべてが適切に反映されるように再起動してください。
- リモート デスクトップは便利ですが、機密性の高い機能です。ネットワークを信頼できない場合は、開いたままにしないでください。
最終ノート
これで、リモートデスクトップの修復や有効化をしようとしている方の時間を少しでも短縮できれば幸いです。GUIだけではうまくいかない時もありますが、そんな時はこれらのコマンドラインのトリックが役立ちます。頑張ってリモートコントロールを楽しんでください!