使用非 DHCP DNS 服务器进行无人值守的 Windows 7 安装:域加入失败,声称找不到域

使用非 DHCP DNS 服务器进行无人值守的 Windows 7 安装:域加入失败,声称找不到域

我正在尝试构建一个无人值守的 Windows 7 映像脚本,该脚本将执行简单的域加入。问题在于 DHCP 提供的 DNS 服务器对我的域一无所知,因此我需要在任务UnattendedJoin运行之前将 DNS 服务器设置为可以识别域的服务器。我使用Microsoft-Windows-DNS-Client中的来执行此操作unattend.xml

我知道 DNS 设置正在设置,因为Local Area Connection一旦 Win7 计算机启动,NIC IP 设置就是正确的。但是,它永远不会进入域。报告的具体错误是:

[DJOIN.EXE] Unattended Join: Begin
[DJOIN.EXE] Unattended Join: Loading input parameters...
[DJOIN.EXE] Unattended Join: AccountData = [NULL]
[DJOIN.EXE] Unattended Join: UnsecureJoin = [NULL]
[DJOIN.EXE] Unattended Join: MachinePassword = [secret not logged]
[DJOIN.EXE] Unattended Join: JoinDomain = [domain.example.com]
[DJOIN.EXE] Unattended Join: JoinWorkgroup = [NULL]
[DJOIN.EXE] Unattended Join: Domain = [DOMAIN]
[DJOIN.EXE] Unattended Join: Username = [domainuser]
[DJOIN.EXE] Unattended Join: Password = [secret not logged]
[DJOIN.EXE] Unattended Join: MachineObjectOU = [OU=Clients,OU=Bucket,DC=example,DC=domain,DC=com]
[DJOIN.EXE] Unattended Join: DebugJoin = [true]
[DJOIN.EXE] Unattended Join: DebugJoinOnlyOnThisError = [NULL]
[DJOIN.EXE] Unattended Join: Enabled DC Locator ETW tracing. Log file: C:\Windows\Panther\UnattendGC\UnattendedJoinDCLocator.etl
[DJOIN.EXE] Unattended Join: Checking that auto start services have started.
[DJOIN.EXE] Unattended Join: Joining domain [domain.example.com]...
[DJOIN.EXE] Unattended Join: Calling DsGetDcName for domain.example.com...
Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 5 seconds...

此错误似乎意味着“我找不到域”。奇怪的是,如果我在安装完成后尝试手动加入域,它会正常工作。因此,出于某种原因,即使之前已正确设置 DNS 设置(我可以在日志文件的上方看到它),DJOIN.EXE也不会使用它们。

这里发生了什么?

答案1

在这种情况下,有几个选项可以帮助您将机器加入到域。

首先,由于网络设置是在 specialize 阶段设置的,因此您可以在稍后的将计算机加入域的过程中运行脚本。在 oobesystem 阶段,您可以使用“FirstLogonCommands”设置下的“SynchronousCommand”设置(它是 Microsoft-Windows-Shell-Setup 组件的一部分)来运行脚本以将计算机加入域。

另一个选择是使用脱机域加入,如本 TechNet 文章中所述:“离线域加入 (Djoin.exe) 分步指南”

您可以在以下位置找到更多分步指南和视频,以帮助满足您的部署需求交付和部署 Windows 7交付和部署 Windows 8TechNet 上的 Springboard 系列页面。

希望这可以帮助,

相关内容