Windows 10のリモートデスクトップをPowerShellで有効化する方法

Windows 10のリモートデスクトップをPowerShellで有効化する方法

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

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

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

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

ソフトウェアバージョン
Windows 10 Pro 64bit1909
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"

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

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

リモートデスクトップ接続を許可するには、以下のコマンドを順に実行します。

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番ポートで待ち受けていますが、待ち受けポート番号を変更することが可能です。

詳しい手順は、以下の記事をご覧ください。

リモートデスクトップ接続の待ち受けポート番号を変更する方法
ここでは、Windows 10でリモートデスクトップ接続の待ち受けポート番号を変更して、セキュリティを強化する方法を紹介します。

あとがき

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

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

ご活用ください。