PowerShellで仮想マシン作成時に指定するイメージ名について

こちらの記事でも書いた通り、PowerShellのNew-AzureVMコマンドレット使って仮想マシン作るときには、仮想マシンイメージ名の指定(ImageNameオプション)が必要になります。


自分で作成したイメージが既にある場合は、自分で付けた名前を使えば良いのですが、Azureで標準で準備されている仮想マシンイメージ使いたい場合は指定する名前がわかりません。


例えば、現時点のWindows Server 2012のイメージの名前は以下のようになります。標準のイメージ名はとても複雑です。

$imageName = "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201409.01-en.us-127GB.vhd"

New-AzureVMConfig -Name $VMName -InstanceSize Medium -ImageName $imageName -Verbose | 
    Set-AzureSubnet -SubnetNames $vnetSubnetName |
    Set-AzureVMBGInfoExtension |
    Add-AzureProvisioningConfig -Windows -AdminUsername $AdminUser -Password $AdminPassword -TimeZone $TimeZone -EnableWinRMHttp |
    New-AzureVM -ServiceName $targetServiceName –ReservedIPName $vipName -VNetName $vnetName -WaitForBoot -Verbose

 
 
この仮想マシンイメージ名は、Get-AzureVMImageのコマンドで取得できます。

例えば日本で使える仮想マシンイメージ名を出力するならこんな感じです。

 Get-AzureVMImage | ?{$_.Location.Contains("Japan")} | select Label,ImageName | Out-GridView

 
 
 
最後にOut-GridViewで出力すると便利だと思います。ImageNameのプロパティ値を使ってください。