I'm trying to design an SCVMM (2012 SP1) service template that contains several machines joined in a domain, but the trick is that the very domain controller is also in the template. Ie. the template contains a machine that will become the AD and several machines which will join. Since the domain does no exists during deployment, the template declares all machines as part of a Workgroup. Application profile Pre-Install scripts do the work of running Install-ADDSForest
on the AD and Add-Computer
on the machines that join. With proper deployment order this works fine, but I have a problem as the next Pre-Install scripts start failing now:
Error (22725)
SCVMM received computer name<machine>.<domain>
for vm<...>
. Expected computer name is<machine>
.Recommended Action
Ensure that the vm has joined the right domain or workgroup and then retry the operation.
Oops. Since the rename occurred in the application scripts, SCVMM is not aware of it and is crying fault. But this is a chicken and egg problem...
Any suggestion of how to solve this problem?
I'm doing the very same thing and running into the same issue. I've resolved this in the past by defining a variable for the names of the additional VMs (@ServerName@), and using @DomainName@ in the Domain field of the OS profile. Then, for each VM in the other tiers, I set the computer name in the OS profile as @ServerName@.@DomainName@. This concatenation is then passed to SCVMM in the built-in @ComputerName@ variable (which is autopopulated with the FQHN of the computer). This might work for you.
However, I have a new service template that uses scalable machine tiers, which means I have to use ## for the VMs in those tiers. Since you cannot use both incremental names and configurable service settings in the same field (i.e. you can't use server##.@DomainName@), I'm running into this problem yet again.
I think the problem is that when VMM sets the value of the @ComputerName@ variable for the VMs, it either cannot parse the value of the @DomainName@ variable, or @DomainName@ hasn't been populated yet.