Windows 部署服务需要与 Active Directory 域服务交互以实现几项关键功能。其中一项功能是 rogue 检测,该功能可确定是否已授权预启动执行环境 (PXE) 服务器在域中提供服务。Rogue 检测也称为动态主机配置协议 (DHCP) 授权。
Windows 部署服务需要与 Active Directory 域服务交互以实现几项关键功能。其中一项功能是 rogue 检测,该功能可确定是否已授权预启动执行环境 (PXE) 服务器在域中提供服务。Rogue 检测也称为动态主机配置协议 (DHCP) 授权。
事件 ID 768、774 -- 检查注册表数据和权限
Windows 部署服务 PXE 服务器必须能够从注册表中读取必要的配置设置,才能将网络启动程序提供给客户端计算机。若要解决此问题,请确保注册表数据未丢失或损坏,并且 PXE 服务器具有正确的权限。
事件 ID 771、770、772、773、776 -- 授权给 Active Directory 中的服务器
必须在 Active Directory 域服务中授权 WDSServer 服务,才能通过 rogue 检测过程。若要解决此问题,请先授权服务(打开“命令提示符”窗口,运行 wdsutil /set-server /authorize:yes。)如果此命令返回错误,则表示无法授权服务器。在这种情况下,请按照指定顺序执行以下操作,直到问题得到解决:
确保域控制器可访问。
确保计算机帐户具有足够的权限。
确保注册表配置数据正确无误。
事件 ID 768、774 -- 检查注册表数据和权限
警告:注册表编辑不当可能会严重损坏您的系统。更改注册表之前,您应备份任何有价值的数据。
若要执行此过程,您必须是本地 Administrators 组的成员,或者被委派了适当的权限。
若要确保注册表数据和权限,请执行以下操作:
打开注册表编辑器。(单击“开始”,在“开始搜索”框中键入 regedit,然后按 ENTER)。
确保以下位置存在 WDSPXE 注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE。
如果指定位置存在此项,请确保 WDSPXE 使用的系统帐户具有注册表读取权限。为此,右键单击 WDSServer 节点,再依次单击“权限”、“系统”,然后确保选中“完全控制”。
如果此项不存在或已损坏,您将需要重新初始化服务器。为此,打开“命令提示符”窗口,运行 wdsutil /uninitialize-server,然后运行 wdsutil /initialize-server /reminst:<path to RemoteInstall folder>。
事件 ID 771、770、772、773、776 -- 授权给 Active Directory 中的服务器
确保域控制器可访问
如果可以通过 IP 地址对域控制器进行 ping 操作,则表示可访问性没有问题。如果无法通过 IP 地址进行 ping 操作,请确保:
域控制器计算机已开启。
Active Directory 服务正在运行且已连接至网络。
Windows 部署服务服务器已连接至网络。
注意:以下过程包含使用 ping 命令进行故障排除的步骤。因此,在执行这些步骤之前,请先确定网络上的防火墙或 Internet 协议安全 (IPsec) 设置是否允许 Internet 控制消息协议 (ICMP) 通信。ICMP 是 ping 命令使用的 TCP/IP 协议。
若要执行这些过程,您必须是本地 Administrators 组的成员,或者被委派了适当的权限。
若要确定是否存在网络连接问题,请执行以下操作:
在 Windows 部署服务服务器上,打开“命令提示符”窗口。
在命令提示符中,运行 ping <server FQDN>,其中 <server FQDN> 是域控制器(例如,server1.contoso.com)的完全限定的域名 (FQDN)。
在命令提示符中,运行 ping <IP Address>,其中 <IP Address> 是域控制器的 IP 地址。
注意下列内容:
如果可以通过 IP 地址对域控制器成功进行 ping 操作,但无法通过 FQDN 对域控制器成功进行 ping 操作,则表明 DNS 主机名解析可能存在问题。
如果无法通过 IP 地址对域控制器成功进行 ping 操作,则表明网络连接、防火墙配置或 IPsec 配置可能存在问题。
如有必要,可以执行以下附加步骤,以帮助确定问题的根源:
对网络中的其他计算机进行 ping 操作,以确定连接问题的范围。
如果可以对其他服务器进行 ping 操作,但不能对域控制器进行 ping 操作,请尝试从另一台计算机对域控制器进行 ping 操作。如果无法从任何计算机对域控制器进行 ping 操作,请首先确保域控制器处于运行状态。如果域控制器正在运行,请检查其网络设置。
通过执行以下操作,检查本地计算机上的 TCP/IP 设置:
打开“命令提示符”窗口,在命令提示符处运行 ipconfig /all 命令,然后确保输出正确无误。
运行 ping localhost 以验证本地计算机上是否已安装并正确配置了 TCP/IP。如果此命令失败,则可能表明 TCP/IP 堆栈已损坏或网络适配器出现问题。
运行 ping <local IP address>。如果可以对本地主机地址进行 ping 操作,但不能对本地地址进行 ping 操作,则表明路由表或网络适配器驱动程序可能存在问题。
运行 ping <DNS server IP address>。如果网络中有多台 DNS 服务器,则应依次对其中每台 DNS 服务器进行 ping 操作。如果不能对 DNS 服务器进行 ping 操作,则表明 DNS 服务器可能存在问题,或者计算机与 DNS 服务器之间的网络可能存在问题。
如果域控制器位于其他子网中,请尝试对默认网关进行 ping 操作。如果无法对默认网关进行 ping 操作,则可能表明网络适配器、路由器或网关设备、电缆或其他连接硬件存在问题。
在设备管理器中,检查网络适配器的状态。(若要打开设备管理器,请单击“开始”,再单击“运行”,键入 devmgmt.msc,然后单击“确定”。)
检查计算机以及集线器或路由器上的网络连接指示灯。检查所有网络电缆。
使用“高级安全 Windows 防火墙”管理单元检查防火墙设置。
使用“IP 安全策略管理”管理单元检查 IPsec 设置。
如果上述步骤均未解决您的问题,请执行下面部分中的过程,确保计算机帐户具有必需的权限。
确保计算机帐户具有足够的权限。
在包含 Active Directory 目录服务的服务器上,向 Windows 部署服务服务器计算机帐户授予服务器权限,使其可访问服务控制点 (SCP)。
若要执行这些过程,您必须是本地“域管理员”组的成员,或者被委派了适当的权限。
若要向 SCP 对象授予权限,请执行以下操作:
打开 Active Directory 用户和计算机 MMC 管理单元。
单击“视图”,然后单击“高级功能”(如果尚未启用)。
访问 Windows 部署服务服务器计算机帐户的属性。
在“远程安装”选项卡上,单击“高级设置”。
在“安全”选项卡上,单击“添加”。
选择用户,然后针对此对象单击“完全控制”。
如果 SCP 对象具有正确的权限,请按照下面部分中的说明操作,确保注册表数据正确无误。
确保注册表配置数据正确无误
如果本主题中的前两个解决方案都无法解决您的问题,注册表数据可能已损坏。若要确定注册表数据是否已损坏,请运行命令提示符中 WDSUTIL /get-server /server:<server name> 命令。如果此命令失败或输出已损坏,您将需要重新初始化服务器。为此,请运行命令提示符中的 wdsutil /uninitialize-server,然后运行 wdsutil /initialize-server /reminst:<path to RemoteInstall folder>。
Target | Microsoft.Windows.Server.6.3.WDSRole | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | StateCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.3SingleEventLog3StateUnitMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.6.3.WDSRole.RogueDetectionState" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Server.6.3.WDSRole" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.3SingleEventLog3StateUnitMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.3.WDSRole.RogueDetectionState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventDescription$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="FirstEventRaised" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="ThirdEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(769|775|777)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">WDSPXE</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>WDSPXE</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>771</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
<ThirdComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ThirdComputerName>
<ThirdLogName>Application</ThirdLogName>
<ThirdExpression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(768|770|772|773|774|776)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">WDSPXE</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</ThirdExpression>
</Configuration>
</UnitMonitor>