Auto-Add Devices Database State

Microsoft.Windows.Server.6.2.WDSRole.Service.DeploymentServer.AutoAddDevicesDatabaseState (UnitMonitor)

The Auto-Add Devices database enables you to add computer accounts to Active Directory Domain Services automatically. You will find this database in the \RemoteInstall\Mgmt folder (by default, the RemoteInstall folder is located on drive C). The database is created by the Pre-Boot Execution Environment (PXE) provider the first time you enable the Auto-Add functionality (using either the MMC snap-in or the /AutoAddPolicy command-line option). All computers in the pending queue are represented as an entry in the database on the Windows Deployment Services server.

Knowledge Base article:

Summary

The Auto-Add Devices database enables you to add computer accounts to Active Directory Domain Services automatically. You will find this database in the \RemoteInstall\Mgmt folder (by default, the RemoteInstall folder is located on drive C). The database is created by the Pre-Boot Execution Environment (PXE) provider the first time you enable the Auto-Add functionality (using either the MMC snap-in or the /AutoAddPolicy command-line option). All computers in the pending queue are represented as an entry in the database on the Windows Deployment Services server.

Event ID 772, 773 -- Free up memory or recreate the database

If the server is low on memory or the Auto-Add Devices database is corrupt, a query to the Auto-Add device database will fail. To resolve this issue, first use Task Manager to ensure that the server is not low on memory. One way to increase the amount of available memory is to determine whether there are any programs or processes running on the server that can be closed. Use Task Manager to determine which processes are using the most memory, and to end those processes.

Event ID 779, 781, 768, 770, 771, 775, 776, 777, 778, 783 -- Ensure that the registry data and permissions are correct

The Pre-Boot Execution Environment (PXE) provider provides client boot services over the network. This provider must be able to create and modify the Auto-Add Devices database and the tables and indexes contained in the database so that it can create and manage pending devices.

Resolutions

Event ID 772, 773 -- Free up memory or recreate the database

To perform these procedures, you must either be a member of the local Administrators group or have been delegated the appropriate authority.

Free up memory

To free up memory on the server:

If the server is not low on memory and you continue to encounter this error, the database may be corrupt. To resolve this issue, you will need to recreate the database by using the procedure in the following section.

Recreate the database

To recreate the database:

Event ID 779, 781, 768, 770, 771, 775, 776, 777, 778, 783 -- Ensure that the registry data and permissions are correct

To resolve this issue, first ensure that there is enough memory on the server. If there is enough memory, then do the following in the specified order until the issue is resolved:

To resolve this issue, do the following:

Ensure that the WDSServer service has permissions to the RemoteInstall folder

To perform this procedure, you must either be a member of the local Administrators group or have been delegated the appropriate authority.

To ensure that the WDSServer service has the necessary permissions:

If the Full Control check box is already selected, use the procedure in the following section to ensure that the WDServer service has access to the registry.

Ensure that the WDServer service has access to the registry

Caution: Incorrectly editing the registry might severely damage your system. Before making changes to the registry, you should back up any valued data.

To perform this procedure, you must either be a member of the local Administrators group or have been delegated the appropriate authority.

To ensure that WDSServer has the necessary permissions:

If WDSServer has access to the registry and the problem persists, perform the procedure in the following section to make sure that the configuration data in the registry is correct.

Ensure that the configuration data in the registry is correct

To perform this procedure, you must either be a member of the local Domain Admins group or have been delegated the appropriate authority.

To ensure that the configuration data is correct, use the following steps to restart the WDSServer service:

If you continue to encounter this error, use the procedure in the following section to recreate the Auto-Add Devices database.

Recreate the database

To perform this procedure, you must either be a member of the local Administrators group or have been delegated the appropriate authority.

To recreate the database:

Element properties:

TargetMicrosoft.Windows.Server.6.2.WDSRole.Service.DeploymentServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.3SingleEventLog3StateUnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Auto-Add Devices Database State
Event ID: {0} -- {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.6.2.WDSRole.Service.DeploymentServer.AutoAddDevicesDatabaseState" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Server.6.2.WDSRole.Service.DeploymentServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.3SingleEventLog3StateUnitMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.WDSRole.Service.DeploymentServer.AutoAddDevicesDatabaseState.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/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>BINLSVC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>769</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(779|781)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">BINLSVC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
<ThirdComputerName>$Target/Host/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|771|772|773|775|776|777|778|783)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">BINLSVC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</ThirdExpression>
</Configuration>
</UnitMonitor>