DHCP服务器在AD域中必须经域控制器授权才能启动,未授权时服务停止并报错1058;需用域管理员账户在域控上通过DHCP管理器添加并授权该服务器,同时确保DNS解析正常、时间同步且无IP冲突记录。
在windows server环境中,dhcp服务器服务启动失败并提示“服务器未授权”是常见问题,根本原因是active directory域环境下dhcp服务器必须经过域控制器显式授权,否则服务会自动停止——这是微软设计的安全机制,防止未经授权的dhcp服务引发ip地址冲突或中间人攻击。
确认DHCP服务器是否处于未授权状态
打开“DHCP管理器”,查看左侧服务器节点图标:若显示红色向下箭头或灰色禁用状态,右键该服务器选择“授权”时提示“此服务器已在域中注册但尚未授权”,即为典型未授权表现。也可通过PowerShell快速验证:
- 以管理员身份运行PowerShell,执行:Get-DhcpServerInDC —— 查看返回列表中本机IP是否在列且IsAuthorized值为False
- 执行:Get-Service dhcpserver —— 状态为Stopped且触发原因通常为Event ID 1058(DHCP Server service was stopped because the server is not authorized)
确保具备AD域管理员权限并登录域账户
授权操作必须由具有“DHCP Administrators”组成员身份(默认包含Domain Admins)的域用户执行,且该用户需以域账户(如DOMAIN\Administrator)登录服务器,不能使用本地管理员账户或脱域状态下的账户。若当前为本地登录,请先通过“Ctrl+Alt+Del → 切换用户 → 使用域账号登录”切换上下文。
在域控制器上完成DHCP服务器授权
授权操作必须在任意一台在线的域控制器上执行(非DHCP服务器本身),步骤如下:
- 在域控制器上打开“DHCP管理器”(如未安装,通过“服务器管理器 → 添加角色和功能 → DHCP服务器工具”启用RSAT)
- 右键“DHCP”节点 → “添加服务器” → 输入待授权DHCP服务器的FQDN或IP地址 → 点击“确定”
- 展开左侧服务器列表,找到刚添加的DHCP服务器 → 右键 → 选择“授权” → 确认提示
- 授权成功后,该服务器图标变为绿色向上箭头;约1–2分钟内,原DHCP服务器上的dhcpserver服务将自动启动(如未自启,手动执行Start-Service dhcpserver)
排查常见授权失败原因
若执行授权后仍失败,需检查以下关键点:
- DNS解析异常:DHCP服务器与域控制器之间必须能正向/反向解析彼此的主机名。在DHCP服务器上运行nslookup dc.domain.com和nslookup dhcpserver.domain.com确认双向可达
- 时间偏差超5分钟:Kerberos认证要求域内计算机时间差≤5分钟。在DHCP服务器上运行w32tm /query /status检查,偏差大时执行w32tm /resync
- AD复制延迟:多域控环境下,授权信息可能未及时同步。可在另一台域控上重复授权操作,或等待15分钟再验证
- 服务器已存在冲突记录:在域控制器上运行Get-DhcpServerInDC | Where-Object {$_.IPAddress -eq 'X.X.X.X'},如返回多条记录,需先用Remove-DhcpServerInDC -IpAddress X.X.X.X -PassThru清理旧条目

















