Bulk VM creation from CSV using Azure PowerShell

This sample talks about few basic aspects of Azure PowerShell,

1. Reading from CSV

2. Parameterizing PowerShell

3. Calling another PowerShell from PowerShell with Parameters

Now let’s see how the CSV lools like,

image

And I am going to use these three columns as input parameters for another script.

So to read this one might use this below script

image

I have another script which uses creates VM and it takes three inputs as parameters,

image

Few things to notice here,

1. It has two values as hardcoded (local variable) this can also be taken from CSV

2. I took the minimul parameter option so this one would creare VNET, Subnet, Public IP and so on. However, you can pass them all in CSV

3. This has a check if the resource group exits. If it does then it would not create the Resource Group.

Then the last part, calling the VM creation PowerShell to CSV read PowerShell. To do that,

image

You can get these files at,

File 1: https://github.com/wrijughosh/PowerShellWG/blob/master/meetup/ReadFromCSVNestedPS.ps1

File 2: https://github.com/wrijughosh/PowerShellWG/blob/master/meetup/CreateVM-parameter.ps1

Note: This might prompt you for credentials again and again. You can also create a global variable and pass it on to all the VM creation commandlet.

Namoskar!!!