LoginSignup
4
2

More than 5 years have passed since last update.

Check! あえて az コマンドを使って VM を便利に使う bat スクリプト(PowerShell 版はいずれ…!)

Last updated at Posted at 2017-05-06

こんにちは、エクストリームデザイン@dz_ こと大平かづみです。

Prologue - はじめに

Azure をサクサク触るために、CLI を利用してます。私は Windows を使っているので PowerShell 版… ではなく、Mac や Linux を使うほかのメンバーとも情報共有ができるように az コマンド(Azure CLI 2.0) を使っています。

az コマンドは便利なのですが、複数台の VM の情報が見たいとかいっぺんに操作したいとき! リソース名とは別の id を指定するものが多いです。

bash なら、id 一覧を取得してパイプでサクッとできるものの、コマンドプロンプトではうまくできません><

なので、よく使うユースケースのものをまとめた bat スクリプトを書きました!(時代逆行…?)

リソースグループを指定して、仮想マシンを操作する bat スクリプト

説明

基本的には、私が作業に必要なことしか盛り込んでいませんが、もし流用されるようであれば、用途に合わせてカスタマイズいただければと思います。

また、はじめて bat スクリプトを書いたので、未熟な点があるかもしれません。ご理解いただけますと幸いです。

機能概要

リソースグループを指定して、内包する仮想マシンに対して以下の操作ができます。

  • IPアドレス一覧取得(パブリック、プライベートともに)
  • 仮想マシン操作
    • 状態取得
    • 開始 (start)
    • 停止 (stop)
    • 割り当て解除 (deallocate)

前提条件

使い方

下記のソースコードを vms.bat としてどこかに配置してください。

例として、リソースグループ myRG 内の仮想マシンを操作するサンプルを示します。

# vms.bat が置いてあるディレクトリに移動
$ cd <path to vms.bat>

# IPアドレス一覧取得
$ vms myRG ips

# 仮想マシンの状態取得
$ vms myRG status

# 仮想マシンの開始
$ vms myRG start

# 仮想マシンの停止
$ vms myRG stop

# 仮想マシンの割り当て解除
$ vms myRG deallocate

なお、ips 以外の操作では、初回に id一覧を取得し、vms.bat と同じディレクトリにファイル保存し、( 例: myRG-vms.tsv )。以降の操作ではこのファイルを参照します。

もし、仮想マシンの操作順番を変えたい場合( 例: 特定のサーバーを先に開始したい、など)は、このファイルのidの順序を変えればその通りに実行します。

vms.bat ソースコード

Epilogue - おわりに

なお、Windows で bash を使いたい場合は、 Ubuntu on Windows を使った方が素直かもしれません!私の場合は、もろもろの兼ね合いで cmder を介してコマンドプロンプトを使っています。以前に使い方をまとめた記事があるので、ご興味ある方は下記をご参考くださいませ~。

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