Veja como eu faço isso:
Eu crio VMs com um script do PowerShell como parte do script que copio um VHDX existente com um SO sysprep'ed.
Eu, então, montei o VHDX e criei um arquivo unattend.xml , bem como \Windows\Setup\Scripts\SetupComplete.cmd , ambos específicos da nova VM.
Após desmontar o VHDX, posso iniciar a VM e tudo o mais é automático.