【AWS】WindowsServerにRDP接続できない!コマンドラインでグループポリシーを変更する




とても大変なことをやらかした マルオ です。なにをしたかといいますと、WindowsServerでRDP接続を許可/拒否するグループポリシー設定の「接続拒否」を「適用」してしまったんです。

そうです。コンソールのないAWS上のWindowsServerにログインできないという、どうにもならない状態を作り上げてしまいました。この危機的状況(?)を解決できたので、その方法を紹介致します。

実行した環境

・WindowsServer2012R2(RDP接続できない)


1.状態確認 --------------

まず、接続できない状態を作り上げます。RDP接続の許可/拒否はグループポリシーで設定することができるので、グループポリシーエディタを開いてみます。

C:\>gpedit.msc

コンピュータの構成 > 管理用テンプレート > Windowsコンポーネント > リモートデスクトップサービス > リモートデスクトップセッションホスト > 接続

Local Computer Policy > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections


「ユーザーがリモートデスクトップサービスを使ってリモート接続することを許可する」を開きます。

Allow users to connect remotely by using Remote Desktop Services


デフォルトでは「未構成」となっています。この「未構成」を「無効」に変更することでRDP接続拒否(ローカルコンソールのみ接続可)の状態ができあがります。

ちなみに未構成の場合は「システムのプロパティ」>「リモートデスクトップ」の設定に従うようです。




2.「PsExec」で接続 --------------

作業サーバーとして「RDP接続拒否インスタンス」に接続可能なインスタンスを用意して「PsExec」を使える状態にセットアップします。。



※こちらのサイトを参考にさせて頂きました!動作条件やバッチファイルの使い方などかなり詳しく紹介されていますのでしっかり読みましょう。

AWS上でローカルIPで接続できるように「RDP接続拒否インスタンス」と同じVPC / サブネットに合わせてセキュリティグループも設定変更します。今回は一時的に全許可に設定しましたが、IPアドレスで接続許可したほうが良いでしょう。









接続すると以下のようなコマンドプロンプトが表示されます。






3.グループポリシーの値を変更 --------------

グループポリシーの設定はレジストリに書き込まれていますので、レジストリを修正することになります。細心の注意を払って作業をすすめます。


設定変更したいレジストリ

キー名:
"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
名前:
fDenyTSConnections

キーの値が「1」(拒否)になっているので「0」(許可)に変更します。コマンドラインからレジストリを変更するには reg.exe を使用します。

C:\>reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections /t REG_DWORD /d 0

うまく変更が適用されれば以下のコマンドでステータスが確認できます。

C:\>reg query "キー名"



4.接続確認 --------------

変更したレジストリを有効にするために再起動を行います。(再起動しないと接続できなかった)

これで無事に「RDP接続許可」な状態へ変更することができました。設定変更後はセキュリティグループの設定などを戻すことを忘れずに行いましょう。


最後に

今回ははじめから細心の注意を払った作業をしていたら起こらなかったトラブルでした。サーバー操作は慎重に行わなければ、、と反省しきりです。

なにより一番大変なだったのは「グループポリシーと紐づくレジストリを探す」ことです。


レジストリの探し方はこちらのサイトを参考にさせて頂きました。とても参考になりました。参考というより「超非常事態」を救っていただきました。。

※変更した設定が「なんだったか」が分からないことにはどうにもできないので作業やコマンドの記録はこまめに取りたいものです。

またレジストリを編集する reg.exe の使い方にも注意したいところです。なにせレジストリの変更なので最悪が起こる可能性もあるわけですので。


超非常事態を自ら作り上げてしまわないよう、指差し確認を行いながら作業をすすめることを心に誓ったのでした。


おわり

このブログの人気の投稿

【AWS】IAMFullAccessを付与せずIAM Roleの作成とアタッチを行う方法

【AWS】EBSボリューム自動取得/削除 を Lambda で実行 (世代管理も)

【GCP】Compute EngineでVPNサーバーを立てるときの注意点