Forum Discussion
Prannoy_G
Feb 25, 2022Copper Contributor
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
- lukemurraynzLearn Expert
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