サーバの「リモートデスクトップ接続」の設定を毎回GUIで行っていることが多いです。このRDP設定をPowerShellで設定できないかと試してみた。
イメージでは、PowerShell で一括設定を考えてみたが、実際にはリモートデスクトップ接続を設定するPowerShellコマンドはありません。
実現方法として、レジストリとファイアーウォールの設定を行うことで実現が可能です。
設定する項目
- RDP設定のレジストリ変更
- Windowsファイアーウォールの設定変更
目次
RDP設定のレジストリ変更
レジストリでシステムのプロパティを変更します。
以下のPowershell コマンドで “fDenyTSconnections”というレジストリの値を更新します。
Set-ItemProperty -Path “HKLM:\System\CurrentControlSet\Control\Terminal Server” -Name “fDenyTSconnections” -Value |
Windowsファイアーウォールの設定変更
GUIで設定する場合、Windowsファイアーウォールの設定も同時に行います。しかし、上記のレジストリのみですと、Windowsファイアーウォール設定は別途行う必要があります。
Enable-NetFirewallRule コマンドレットでリモートデスクトップ接続を許可します。
Enable-NetFirewallRule -DisplayGroup “リモート デスクトップ” |
まとめ
GUIでリモートデスクトップ接続の設定はむつかしくないのですが、Powershell コマンドのスクリプトを1つ用意しておくことで構築時間を少しでも短縮できます。
サーバ構築時にはほぼ同じ設定を行っていると思います。
こういったコマンドを多数集めておけば、Powershell コマンドで即座に設定ができます。
たとえば、GUIでの基本設定に30分かかるところが、コマンド用意しておけば、2~3分で終わってしまいます。あとは設定確認したら完了ですね。