Thanks for the info Luc! The sysprep part i wouldn't be to worried on since i would change the CPU/mem before i powered them all on
I was wondering if i specified the -VM option instead. I had my switch wrong. Could I still use a template with that switch and then set cpu/mem IE:
New-VM -Name $vmname -VM $basevm -Datastore $datastore -VMHost $vmhost -OSCustomizationSpec $custspec -memoryMB $mem -NumCPU $cpu -RunAsync -Confirm:$false
Within the script I assume I can set wait time before going to the next loop?