Azure Powershellでの挙動を制御するのにだいぶパワーシェル依存になるのだが
複数のVirtualMachineを停止させたりSnapshotを取るなどの行為をすると
大体は $vmname = dopmachine のようなハードコーティングになる。
ただそれだと汎用性が死ぬので汎用性で引数かiniによるリスト化を考えないといけない。

バッチからの引数を段々に引き継がせるかなりいびつな構造でも最終的には
コマンドで指定出来るんで汎用性でコレで良いかもしれない。

例えばコマンドプロンプト実行時に
script.bat rg-name-dop dopmachine bktype

みたいな引数を3つ渡して色々分岐させて
PowerShell側に渡して動かせればまぁそれで御の字。
いや最初からbatでも良いのだが企業ソフトは
powershellでの起動をサポートしてないことが多いので

バッチで起動 → 核心処理はpowershellのような動かし方をする。
これも業務アプリではなく基盤系処理になるので
世間の「開発者」というイメージからはだいぶかけ離れた話だと思う。。。




で、引数3つ入れたあとコマンドプロンプト上でも3つ引き受けるモノを用意

REM Azure上のリソースグループネーム
SET rgname=%1

REM Azure上のVirtualMachine名称
SET vmname=%2

REM バックアップ処理オプション
SET bktype=%3

次にpowershellの方に引き渡す

script.ps1 %rgname% %vmname% %bktype%

Param(
$psrgname, #コマンドプロンプトから受け取る%1の中身
$psvmname , #コマンドプロンプトから受け取る%2の中身
$bktype #コマンドプロンプトから受け取る%3の中身
)

多分コレデヨイ(Cvムラクモ)