LoginSignup
1
2

More than 3 years have passed since last update.

EC2 WindowsログインできるようになったらSlackにお知らせ

Last updated at Posted at 2018-07-14

目的

急いでEC2インスタンスを作成して使いたいときに、
Windowsパスワードがなかなか発行されずイライラするので作った

1.WindowsのコマンドからSlackにメッセージが送れることを確認する
2.インスタンス作成時のスクリプトで、パスワード変更が終わったらSlackメッセージを流す

PowerShell でSlackにメッセージを送信する

必要なパラメータは・・・

  • 送信者
  • チャンネル
  • コメント

で、Invoke-RestMethod コマンドで送信できる

Invoke-RestMethod -Uri "https://slack.com/api/chat.postMessage" -Method POST -Body "token=【送信者のAPIトークン】&channel=【チャンネル】&text=【コメント】"

例えばこんな感じで

送信者 :HUBOTにする
SlackにHUBOTを入れる https://slack.com/apps 👈ここから「HUBOT」を追加して APIトークン を取得します(詳細略)
image.png
チャンネル :#general にする
コメント :「I’m Ready.」とする
Invoke-RestMethod -Uri "https://slack.com/api/chat.postMessage" -Method POST -Body "token=【HUBOTのAPIトークン】&channel=general&text=I'm Ready."


メッセージ文字列が固定だと面白くないので、割り当てられているプライベートIPを追加する

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/local-ipv4

これで取れるので、👇こんな風にすると

$hoge = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/local-ipv4
$hoge ="token=【APIトークン】&channel=【チャンネル名】&text=I'm ready." + $hoge
Invoke-RestMethod -Uri "https://slack.com/api/chat.postMessage" -Method POST -Body $hoge

👇こんな感じになるます
image.png

ちなみに、日本語を送りたい場合は、URLエンコードすれば良い
https://tech-unlimited.com/urlencode.html

EC2作成時のスクリプトを設定(UserData の設定)

前提:作成するインスタンスからインターネット参照ができること

ステップ3の下部「高度な設定」を展開してスクリプトを書きます
ppp.png

  • タイムゾーンを変更
  • Administratorパスワードを変更
  • 終わったらSlackにメッセージ通知
<powershell>
tzutil /s "Tokyo Standard Time"
net user Administrator Passw@rd123
$hoge = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/local-ipv4
$hoge ="token=【APIトークン】&channel=【チャンネル名】&text=I'm ready." + $hoge
Invoke-RestMethod -Uri "https://slack.com/api/chat.postMessage" -Method POST -Body $hoge
</powershell>

image.png

あとがき

UserDataでのWindows初期設定はもっと色々なことができるので
Slackで完了メッセージ送信は非常に有効かと思われる

ノシ

1
2
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
1
2