[PowerShell] リモートデスクトップ接続(RDP)設定

Powershell WindowsServer

サーバの「リモートデスクトップ接続」の設定を毎回GUIで行っていることが多いです。このRDP設定をPowerShellで設定できないかと試してみた。

イメージでは、PowerShell で一括設定を考えてみたが、実際にはリモートデスクトップ接続を設定するPowerShellコマンドはありません。

実現方法として、レジストリとファイアーウォールの設定を行うことで実現が可能です。

設定する項目

  • RDP設定のレジストリ変更
  • Windowsファイアーウォールの設定変更



RDP設定のレジストリ変更

レジストリでシステムのプロパティを変更します。
以下のPowershell コマンドで “fDenyTSconnections”というレジストリの値を更新します。

コマンド

Set-ItemProperty -Path “HKLM:\System\CurrentControlSet\Control\Terminal Server” -Name “fDenyTSconnections” -Value 0

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

GUIで設定する場合、Windowsファイアーウォールの設定も同時に行います。しかし、上記のレジストリのみですと、Windowsファイアーウォール設定は別途行う必要があります。

Enable-NetFirewallRule コマンドレットでリモートデスクトップ接続を許可します。

コマンド

Enable-NetFirewallRule -DisplayGroup “リモート デスクトップ”

RDPに関するすべての設定が有効になるようです。

まとめ

GUIでリモートデスクトップ接続の設定はむつかしくないのですが、Powershell コマンドのスクリプトを1つ用意しておくことで構築時間を少しでも短縮できます。

サーバ構築時にはほぼ同じ設定を行っていると思います。
こういったコマンドを多数集めておけば、Powershell コマンドで即座に設定ができます。

たとえば、GUIでの基本設定に30分かかるところが、コマンド用意しておけば、2~3分で終わってしまいます。あとは設定確認したら完了ですね。

スポンサードサーチ