訊息佇列無法在 Active Directory 中建立 MSMQ 物件。

Microsoft.MSMQ.10.0.Rule.Alert.Event2116 (Rule)

Knowledge Base article:

摘要

訊息佇列無法在 Active Directory 中建立 msmq (MSMQ 設定) 物件。

原因

無法在 Active Directory 網域服務 (AD DS) 中建立 MSMQ 設定物件。此錯誤可能起因於下列其中一種情況:

解決方法

若要執行這些程序,您必須有 [系統管理員] 中的成員資格,或者必須已獲委派適當的授權單位。

安裝訊息佇列的使用者不具正確的權限,無法在 AD DS 中建立子物件

確認安裝訊息佇列的使用者是網域使用者,且為本機系統管理員安全性群組中的成員:

未正確設定複寫延遲

複寫延遲有問題。在 Active Directory 網域服務 (AD DS) 複寫本身之後應可解決此問題。複寫完成之後,請嘗試再次建立 Active Directory 物件:

進階使用者和網域系統管理員也可以使用知識一致性檢查程式 (KCC) 來設定複寫延遲。如需將大型網路中 Active Directory 複寫最佳化的詳細資訊,請參閱 Microsoft 知識庫中的文章 244368 ( http://go.microsoft.com/fwlink/?LinkId=107511)。

AD DS 中有損毀的電腦物件

確認是否有過期的電腦物件:

過期物件可能會導致 MSMQ 服務無法正確運作。刪除過期物件也許可以解決此問題。不過,刪除 Active Directory 網域服務 (AD DS) 中的電腦物件可能會導致用戶端電腦出現問題。刪除電腦物件之前,請確定在用戶端電腦中執行的服務不會受到影響。在此情況下,刪除訊息佇列 Active Directory 物件也會一併刪除該電腦中的公用佇列。

您必須在遠端伺服器管理下的 [角色管理工具] 中安裝 Active Directory 服務工具。

若要執行此程序,您必須有 Administrators 的成員資格,或者必須已被委派適當的權限。

確認 Active Directory 服務工具已安裝

確認 Active Directory 服務工具已安裝:

刪除過期的電腦物件

刪除過期的電腦物件:

其他

如需詳細資訊,請參閱事件識別碼 2116 ( http://technet.microsoft.com/en-us/library/dd337481(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
訊息佇列無法在 Active Directory 中建立 MSMQ 物件。
{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.10.0.Rule.Alert.Event2116" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" 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>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2116</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.10.0.Rule.Alert.Event2116.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>