ipmo 'virtualmachinemanager\virtualmachinemanager.psd1' [void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') $namingprefix = [Microsoft.VisualBasic.Interaction]::InputBox("Provide the Virtual Machine Name Prefix:", "Virtual Machine Name Prefix", "HVXD71W7-6") [int]$numberofvms = [Microsoft.VisualBasic.Interaction]::InputBox("How Many Virtual Machines to Create?", "How Many Virtual Machines to Create?", "10") [int]$maxjobs = "5" get-vm | sort-object Name | where {$_.Name -like $namingprefix + "*"} | Select-Object -last 1 | foreach-object {$lastvm = $_.Name.Substring($_.Name.Length - 2,2)} if ( $lastvm -ne $null ){ $i = [int]$lastvm} else { $i = 0} $j = $i + $numberofvms for ($i += 1; $i -le $j; $i++) { $running = @(get-job | ? {$_.Status -eq "Running"}) while ($running.Count -ge $maxjobs) {$running = @(get-job | ? {$_.Status -eq "Running"});write-host Sleeping;start-sleep -s 15} $computername = $namingprefix + "{0:d2}" -f $i write-host (get-date -uformat %I:%M:%S) "- Creating virtual machine " $computername -ForegroundColor Green