发生 DLL 异常或 DHCP 服务器无法访问 AD

Microsoft.Windows.2008R2.DHCP.Server.IPv4Runtime.Monitor.GeneralAvailability.3 (UnitMonitor)

动态主机配置协议 (DHCP) 服务器的常规可用性指的是其为客户端提供服务的能力。常规可用性取决于以下内容:- DHCP 服务器是否正确授权 - Active Directory 域服务是否存在 - 是否已成功加载 DHCP 动态链接库 (DLL)

Knowledge Base article:

摘要

动态主机配置协议 (DHCP) 服务器的常规可用性指的是其为客户端提供服务的能力。常规可用性取决于以下内容:

原因

由于找不到域、无法加载 DLL 或无法获得授权,DHCP 不可用。客户端计算机无法从 DHCP 服务器获取新租约,且没有网络连接。

DHCP 遇到 DLL 标注异常。该异常将被忽略,DHCP 服务器将继续正常运行。

解决方案

解决方案: 分配对 DLL 的执行权限

DHCP 服务器的可用性取决于它是否具有对 DHCP 服务器动态链接库 (DLL) 的访问权限。 如果 DLL 缺失或没有管理权限,则 DHCP 服务无法访问它们,并且此服务将无法初始化。 若要更正此问题,您需要执行以下操作:

确定事件中引用的 DLL

若要确定事件中引用的 DLL,请执行以下操作:

更改对文件和文件夹的权限

若要执行这些过程,您必须是 Administrators 组的成员,或者您必须被委派了适当的权限。

若要更改对文件和文件夹的权限,请执行以下操作:

注意

默认情况下,在添加新用户或组时,此用户或组将具有“读取”、“读取和执行”以及“列出文件夹内容”权限。

其他

验证程序:DHCP 服务器已获得授权

若要验证客户端是否从 DHCP 服务器获取租用的 IP 地址,请执行以下操作:

Element properties:

TargetMicrosoft.Windows.2008R2.DHCP.Server.Role
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.3SingleEventLog3StateUnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
发生 DLL 异常或 DHCP 服务器无法访问 AD
动态主机配置协议 (DHCP) 服务器的常规可用性指的是其为客户端提供服务的能力。常规可用性取决于以下内容:- DHCP 服务器是否正确授权 - Active Directory 域服务是否存在 - 是否已成功加载 DHCP 动态链接库 (DLL)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.2008R2.DHCP.Server.IPv4Runtime.Monitor.GeneralAvailability.3" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.2008R2.DHCP.Server.Role" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.3SingleEventLog3StateUnitMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.2008R2.DHCP.Server.IPv4Runtime.Monitor.GeneralAvailability.3_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId0ae98cd08e3d44e8a80af30991de38b6" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="UIGeneratedOpStateIdcd362461f0e34e06903a56d09a9e243e" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateIdefd023ace14f4b238333e02ad4377840" MonitorTypeStateID="ThirdEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</FirstComputerName>
<FirstLogName>System</FirstLogName>
<FirstExpression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-DHCP-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DHCPServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1034</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-DHCP-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DHCPServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1031</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1032</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
<ThirdComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ThirdComputerName>
<ThirdLogName>System</ThirdLogName>
<ThirdExpression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-DHCP-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DHCPServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1033</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</ThirdExpression>
</Configuration>
</UnitMonitor>