The Message Queuing service was unable to obtain the properties of the MSMQ object from Active Directory.

Microsoft.MSMQ.2003.Rule.Alert.Event2120 (Rule)

Knowledge Base article:

Causes

The MSMQ configuration object cannot be created in Active Directory Domain Services (AD DS). This error might be caused by one of the following conditions:

Resolutions

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

The user who is installing Message Queuing does not have the correct permissions to create child objects in AD DS

To confirm that the user who is installing Message Queuing is a domain user and a member of the local administrators security group:

Replication delays are not configured properly

There is an issue with replication delays. This issue should be resolved after Active Directory replicates itself. After replication is complete, try to create the Active Directory object again:

A corrupted computer object exists in AD DS

To confirm that there are stale computer objects:

Stale objects can cause issues that prevent the MSMQ Service from operating properly. Deleting stale objects may solve this problem. However, deleting a computer object in Active Directory Domain Services (AD DS) can cause problems on the client computer. Before you delete the computer object, make sure that no services that are running on the client computer will be affected. In this case, deleting the Message Queuing Active Directory object will delete public queues on that computer.

You must have the Active Directory service tools installed in Role Administration tools under Remote Server Administration.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Confirm that Active Directory service tools are installed

To confirm that Active Directory service tools are installed:

Delete stale computer objects

To delete stale computer objects:

Element properties:

TargetMicrosoft.MSMQ.2003.Server
CategoryAvailabilityHealth
EnabledTrue
Event_ID2120
Event Source$Target/Property[Type="MSMQ!Microsoft.MSMQ.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
The Message Queuing service was unable to obtain the properties of the MSMQ object from Active Directory.
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.2003.Rule.Alert.Event2120" Enabled="true" Target="Microsoft.MSMQ.2003.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="MSMQ!Microsoft.MSMQ.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2120</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.2003.Rule.Alert.Event2120.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>