0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EC2 Windows起動時にユーザ設定[UserData]

Posted at

Windows作成時に、ユーザ作成してパスワードを設定するメモ

SSMセッションマネージャが利用できる状態にする

  • EC2からインターネットへ接続できる(もしくはVPCEndpointを設定)
  • EC2用IAMロール
    以下のポリシーを設定する
    AmazonSSMManagedInstanceCore / ssm:GetParameter
  • AMIイメージはSSMAgentが入っているものを利用する
    (最近のAWS提供イメージにはSSMAgentは入っていて自動サービス起動される)

パスワードをパラメータストアに設定する

  • SSMパラメータストアにパスワード文字列を設定する
    例えば・・・ Key: /ec2/passwordkey Value: initpasswordhogehoge SecureStringで保存

UserData

<powershell>
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn
$PASS=convertto-securestring $(aws ssm get-parameter --name /ec2/passwordkey --with-decryption --region ap-northeast-1 --query Parameter.Value --output text) -AsPlainText -Force
New-LocalUser -Name test -Password $PASS
Add-LocalGroupMember -Group 'Administrators' -Member 'test'
</powershell>

解説

1. AWS CLIのインストール

PowerShell版のAWSCLIがインストールされているが、AWSCLIの方が楽なのでインストールした

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn

2. パスワードを変数に格納

2-1. aws ssm get-parameter でパラメータストアから内容取得して、Parameter.Value(パスワード文字列)部分を取得する
2-2. convertto-securestring PowershellのSecureString変換コマンドを実施

$PASS=convertto-securestring $(aws ssm get-parameter --name /ec2/passwordkey --with-decryption --region ap-northeast-1 --query Parameter.Value --output text) -AsPlainText -Force

3. 新規ユーザ”test”を作成して、パスワードをセット 

New-LocalUser -Name test -Password $PASS

4. ユーザ"test"を Administratorsグループにセット

Add-LocalGroupMember -Group 'Administrators' -Member 'test'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?