Windows10でリモートデスクトップをコマンドで有効化する方法(PowerShell)

Windows10でリモートデスクトップをコマンドで有効化する方法(PowerShell)

Windows10マシンにリモート接続する場合、最も便利な機能として「リモートデスクトップ接続」機能がありますが、この機能はデフォルトでは無効化されているため、利用するには有効化する必要があります。

リモートデスクトップ接続を有効化する場合、設定方法としては「Windowsの設定から」「コントロールパネルから」「レジストリ」「ローカルグループポリシー」の4つがあります。

その中から、ここではPowerShellコマンドレットを利用して、レジストリ設定でリモートデスクトップ接続を有効化する方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェア バージョン
Windows10 Pro 64bit 1909
Memo

下記で実行するPowerShellコマンドレットは、管理者権限でPowerShellを起動して実行し、設定を適用するためには、マシンを再起動する必要があります。

リモートデスクトップの有効化/無効化

リモートデスクトップ接続を有効化するときは、以下のコマンドを実行します。

PS C:\> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Type Dword -Value "0"

無効化するときは、以下のコマンドを実行します。

PS C:\> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Type Dword -Value "1"

ネットワークレベル認証の無効化

リモートデスクトップ接続を有効化すると、デフォルトで「ネットワークレベル認証」が有効化されていますが、利用する接続ツールによってはネットワークレベル認証を無効化しないと接続できない場合があります。

その場合は、以下のコマンドを実行して、ネットワークレベル認証を無効化します。

PS C:\> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Type Dword -Value "0"

なお、有効に戻す場合は、以下のコマンドを実行します。

PS C:\> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Type Dword -Value "1"

ファイアウォール設定の変更

Windows10に標準搭載されているファイアウォール機能「Windows Defender ファイアウォール」を利用している場合、「Windowsの設定」や「コントロールパネル」からリモートデスクトップ接続を有効化すると、自動的にWindows Defender ファイアウォールの設定が変更され、リモートデスクトップ接続が許可されますが、コマンドで有効化すると、Windows Defender ファイアウォールの設定は変更されません。

そのため、以下のコマンドを順に実行して、「Windows Defender ファイアウォール」のリモートデスクトップ接続の許可設定を有効化します。

PS C:\> Set-NetFirewallRule -DisplayName "リモート デスクトップ - シャドウ (TCP 受信)" -Enabled True
PS C:\> Set-NetFirewallRule -DisplayName "リモート デスクトップ - ユーザー モード (TCP 受信)" -Enabled True
PS C:\> Set-NetFirewallRule -DisplayName "リモート デスクトップ - ユーザー モード (UDP 受信)" -Enabled True
Memo

なお、サードパーティーのセキュリティ対策ソフトを利用している場合は、セキュリティ対策ソフトの設定でリモートデスクトップ接続を許可する必要があります。

接続に利用するユーザーの選択

リモートデスクトップ接続は、デフォルトでAdministratorsおよびRemote Desktop Usersグループのメンバーのみが接続することができます。

もし、管理者権限を持たない標準ユーザーで接続するつもりなら、そのユーザーをRemote Desktop Usersグループに追加しておく必要があります。

標準ユーザーをRemote Desktop Usersグループに追加するには、以下のコマンドを実行します。

PS C:\> Add-LocalGroupMember -Group "Remote Desktop Users" -Member "User01"

※「User01」の部分に、リモートデスクトップ接続で利用したいユーザーアカウント名を入力します。

待ち受けポートの変更(任意)

リモートデスクトップ接続は、デフォルトでTCP3389番ポートで待ち受けていますが、接続環境によっては、デフォルトから待ち受けポート番号を変更したい場合があります。

そのようなときは、以下のコマンドで変更することができます。

PS C:\> Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Type Dword -Value "55555"

※「55555」の部分で、待ち受けポート番号を指定します。

なお、待ち受けポート番号を変更した場合は、ファイアウォールで変更したポート番号での接続を許可する設定を追加する必要があります。

あとがき

会社のWindows10PCなどで、同じ設定を複数台のマシンに適用したい場合、GUI画面でポチポチ1台ずつ操作するのは面倒ですよね。

そのようなときに、コマンドを記述したスクリプトを用意しておけば、カンタンに同じ設定を適用できますよ。

ご活用ください。

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ
トップへ戻る