Forum Discussion

Prannoy_G's avatar
Prannoy_G
Copper Contributor
Feb 25, 2022

How to deploy multiple VMs from a script (using Azure PowerShell).

We need to create 10-15 VMs in Azure where we could just feed a text file to the script and the file would specify the VM name, IP, subnet, template (OS version), disks etc.? Any Help Please?

1 Reply

  • Prannoy_GThis is a script to create AD Users, you can use this as a base for New-AzVM

     

    $Users = Import-Csv -Path "C:\Userlist-sn.csv"            
    foreach ($User in $Users)            
    {            
        $Displayname = $User.Firstname + " " + $User.Lastname            
        $UserFirstname = $User.Firstname            
        $UserLastname = $User.Lastname            
        $OU = "$User.OU"            
        $SAM = $User.SAM            
        $UPN = $User.Firstname + "." + $User.Lastname + "@" + $User.Maildomain            
        $Description = $User.Description            
        $Password = $User.Password            
        New-ADUser -Name "$Displayname" -DisplayName "$Displayname" -SamAccountName $SAM -UserPrincipalName $UPN -GivenName "$UserFirstname" -Surname "$UserLastname" -Description "$Description" -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path "$OU" -ChangePasswordAtLogon $false –PasswordNeverExpires $true -server domain.loc            
    } 

     

    Then change the New-ADUser to New-AZVM as such:

     

    New-AzVm `
        -ResourceGroupName 'myResourceGroup' `
        -Name 'myVM' `
        -Location 'East US' `
        -VirtualNetworkName 'myVnet' `
        -SubnetName 'mySubnet' `
        -SecurityGroupName 'myNetworkSecurityGroup' `
        -PublicIpAddressName 'myPublicIpAddress' `
        -OpenPorts 80,3389

     

Resources