## Tool to automate VM creation echo "Shamefully made by Alexandre Simao. Such a waste of time.` Pardon-me dear M. Stallman" echo "CC BY-NC-SA 4.0" # TODO: Export Mac/Name to import it on VMS # Region SRV-01 cp D:\VHD\Base_dif\Base_server_g2.vhdx D:\VHD\SRV-01.vhdx Mount-VHD d:\VHD\SRV-01.vhdx Copy-Item d:\Unattend\SRV-01.xml -Destination e:\Windows\Panther\Unattend.xml Dismount-VHD d:\VHD\SRV-01.vhdx $vms = @{ Name = "SRV-01" Generation = '2' MemoryStartupBytes = 1024Mb VHDPath = "d:\VHD\$VMName.vhdx" SwitchName = 'Arc-SRV' } New-VM @vms Set-VMMemory SRV-01 -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1024MB -MaximumBytes 2GB $vmadapter = Get-VMNetworkAdapter -VMName "SRV-01" Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[0] -StaticMacAddress 00155D027000 # RTR-01 cp D:\VHD\Base_dif\Base_server_g2.vhdx D:\VHD\RTR-01.vhdx Mount-VHD d:\VHD\RTR-01.vhdx Copy-Item d:\Unattend\RTR-01.xml -Destination e:\Windows\Panther\Unattend.xml Dismount-VHD d:\VHD\RTR-01.vhdx $vms = @{ Name = "RTR-01" Generation = '2' MemoryStartupBytes = 1024Mb VHDPath = "d:\VHD\RTR-01.vhdx" SwitchName = 'Arc-SRV' } New-VM @vms Set-VMMemory RTR-01 -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1024MB -MaximumBytes 2GB $vmadapter = Get-VMNetworkAdapter -VMName "RTR-01" Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[0] -StaticMacAddress 00155D027001 Add-VMNetworkAdapter -VMName "RTR-01" -SwitchName "Arc-CLI" -StaticMacAddress 00155D027002 Add-VMNetworkAdapter -VMName "RTR-01" -SwitchName "WAN" -StaticMacAddress 00155D027003 # RTR-02 cp D:\VHD\Base_dif\Base_server_g2.vhdx D:\VHD\RTR-02.vhdx Mount-VHD d:\VHD\RTR-02.vhdx Copy-Item d:\Unattend\RTR-02.xml -Destination e:\Windows\Panther\Unattend.xml Dismount-VHD d:\VHD\RTR-02.vhdx $vms = @{ Name = "RTR-02" Generation = '2' MemoryStartupBytes = 1024Mb VHDPath = "d:\VHD\$VMName.vhdx" SwitchName = 'Bou-LAN' } New-VM @vms Set-VMMemory RTR-03 -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1024MB -MaximumBytes 2GB $vmadapter = Get-VMNetworkAdapter -VMName "RTR-01" Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[0] -StaticMacAddress 00155D027004 Add-VMNetworkAdapter -VMName RTR-02 -SwitchName "WAN" -StaticMacAddress 00155D027005 # RTR-03 cp D:\VHD\Base_dif\Base_server_g2.vhdx D:\VHD\RTR-03.vhdx Mount-VHD d:\VHD\RTR-03.vhdx Copy-Item d:\Unattend\RTR-03.xml -Destination e:\Windows\Panther\Unattend.xml Dismount-VHD d:\VHD\RTR-03.vhdx $vms = @{ Name = "RTR-03" Generation = '2' MemoryStartupBytes = 1024Mb VHDPath = "d:\VHD\$VMName.vhdx" SwitchName = 'WAN' } New-VM @vms Set-VMMemory RTR-03 -DynamicMemoryEnabled $true -MinimumBytes 512MB -StartupBytes 1024MB -MaximumBytes 2GB $vmadapter = Get-VMNetworkAdapter -VMName "RTR-01" Set-VMNetworkAdapter -VMNetworkAdapter $vmadapter[0] -StaticMacAddress 00155D027006 Add-VMNetworkAdapter -VMName RTR-03 -SwitchName "Aston" -StaticMacAddress 00155D027007 Start-VM -Name RTR* Start-VM -Name SRV*