我正在尝试设计一个 SCVMM (2012 SP1) 服务模板,其中包含加入域的多台机器,但诀窍在于域控制器本身还在模板中。即模板包含一台将成为 AD 的机器和几台将加入的机器。由于域在部署期间不存在,因此模板将所有机器声明为工作组的一部分。应用程序配置文件预安装脚本负责运行Install-ADDSForest
在 AD 上Add-Computer
在加入的机器上。如果部署顺序正确,这可以正常工作,但我遇到了一个问题,因为下一个预安装脚本现在开始失败:
错误 (22725)
SCVMM 收到<machine>.<domain>
虚拟机 的计算机名称<...>
。预期计算机名称为<machine>
。推荐的操作
确保虚拟机已加入正确的域或工作组,然后重试该操作。
哎呀。由于重命名发生在应用程序脚本中,SCVMM 对此并不知情,并为此大喊大叫。但这是一个先有鸡还是先有蛋的问题……
关于如何解决这个问题有什么建议吗?
答案1
我正在做同样的事情,遇到了同样的问题。我过去曾通过为其他虚拟机的名称定义一个变量来解决这个问题(@服务器名称@)并使用@域名@在操作系统配置文件的域字段中。然后,对于其他层中的每个虚拟机,我将操作系统配置文件中的计算机名称设置为@服务器名称@.@域名@. 然后将此连接传递给内置的@计算机名称@变量(该变量自动填充计算机的 FQHN)。这可能对您有用。
但是,我有一个新的服务模板,它使用可扩展的机器层,这意味着我必须对这些层中的虚拟机使用 ##。由于您不能在同一字段中同时使用增量名称和可配置服务设置(即您不能使用服务器##.@域名@),我又遇到了这个问题。
我认为问题在于,当 VMM 为虚拟机设置 @ComputerName@ 变量的值时,它无法解析 @DomainName@ 变量的值,或者 @DomainName@ 尚未填充。