Windows Server で無効化した Administrator アカウントをセッションマネージャーで有効化する

Systems Manager セッションマネージャーを使い、Administrator の有効化をやってみました。ドメインユーザーを利用していてローカルアカウントの Administrator を無効化しており、なんらかによりログインできなくなった場合に参考になるかと思います。
2020.08.26

こんにちは、望月です。

Windows Server を運用していて AD サーバにドメイン参加している場合、ドメインユーザを基本的に利用してローカルアカウントの Administrator に関しては無効化するといったことをしている場合があります。
そういった場合、何らかの理由でドメインユーザでログインできなくなったときになんとかローカルの Administrator を有効化したいと思うことでしょう。
Administrator を有効化は Systems Manager のセッションマネージャーを使えば、簡単にできるので、ご紹介します。

やってみた

以下、EC2 の AMI で提供されている OS でやってみました。

  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

注意点

本手順は Systems Manager のセッションマネージャーを利用するため、対象となる EC2 インスタンスにエージェントがインストール済みであり、Systems Manager エンドポイントへ接続できることが必要となります。
エージェントについては最近作成したインスタンスであればインストールされているかと思いますが、プライベートサブネットに EC2 インスタンスが配置されており、Systems Manager エンドポイントへ接続できないといった場合もあるかと思います。そういった場合、NAT Gateway や VPC エンドポイントを配置するといった対応が別途必要となるため、ご注意ください。
プライベートサブネットから Systems Manager エンドポイントへの接続方法については、以下ブログで詳しく書かれているため、こちらをご参照ください。

そのセッションマネージャー、本当に必要?プライベートサブネットのEC2への通信方法を考えてみる

想定する状態

以下、画像のように「アカウントを無効にする」にチェックが入っているものとします。

この状態で RDP 接続をしようとした場合、「このアカウントは現在使用できません。」と表示され、ログインできない状態となります。

では、無効化されている Administrator を有効化していきましょう。

IAM ロール 関連付け

ポリシー「AmazonSSMManagedInstanceCore」をアタッチした IAM ロールを作成します。

作成した IAM ロールを対象の EC2 インスタンスに関連付けます。
EC2 のサービスページから、左メニューの [インスタンス] を開き、一覧から対象の EC2 インスタンスを選択し、[アクション] → [インスタンスの設定] → [IAM ロールの割り当て/置換] を選択します。

先程、作成した IAM ロールを対象の EC2 インスタンスに割り当てします。

セッションマネージャーで EC2 インスタンスに接続する

EC2 のサービスページから、左メニューの [インスタンス] を開き、一覧から対象の EC2 インスタンスを選択し、[接続] をクリックするとインスタンスの接続方法としてセッションマネージャーが表示されるので選択し、接続をクリックします。

そうするとログインできない EC2 インスタンスに対し、PowerShell を実行できるようになります。

Administrator の有効化

ここまでくれば、あとはコマンドを実行するだけになります。
まずは現在の Administrator アカウントの状態を確認するために以下コマンドを実行します。

net user administrator

コマンドを実行すると、Administrator アカウントの状態が表示され、アカウント有効が「No」になっているのがわかると思います。

……
アカウント有効                       No
……
コマンドは正常に終了しました。

それでは、Administrator アカウントを有効化するために以下コマンドを実行します。

net user administrator /active:yes

以下表示が表示されれば、問題なく Administrator アカウントが有効化されたかと思います。

コマンドは正常に終了しました。

もう一度、以下コマンドで Administrator アカウントの状態を確認します。

net user administrator

先程、「No」となっていたアカウント有効が「Yes」となってれば、成功です。

……
アカウント有効                       Yes
……
コマンドは正常に終了しました。

この状態で RDP を再度試してみると、問題なく RPD 接続できることが確認できるかと思います。

おまけ、Administrator パスワードのリセット

また、普段利用していない Administrator のパスワードを忘れてしまうといったことも考えられるかと思います。
そういった場合は、以下コマンドを実行しパスワードの再設定を行います。

net user administrator *

以下、パスワード入力を求められるので入力し、「コマンドは正常に終了しました。」と表示されれば、問題なく変更できたかと思います。

ユーザーのパスワードを入力してください:
確認のためにパスワードを再入力してください:
コマンドは正常に終了しました。

まとめ

今回は Systems Manager セッションマネージャーを使って、Administrator の有効化をやってみました。
サーバにログインできなくなってもセッションマネージャーを使えば、なんとかなるということを再確認して、便利だなー!!!とテンションが上がりました。
もし、現在、Systems Manager セッションマネージャーを使ってない方もいざというときのため、使える状態にしておくなど、検討してみるのも良いかと思います。