Can you change the following line:
$vm=New-VM -Name $_.Name -Template $_.Template -Host $_.Host `
-Datastore $_.Datastore -Confirm:$false -RunAsync | Set-OSCustomizationSpec -OSCustomizationSpec $_.Customization
into:
$vm=New-VM -Name $_.Name -Template $_.Template -Host $_.Host `
-Datastore $_.Datastore -Confirm:$false -RunAsync | Set-VM -OSCustomizationSpec $_.Customization