本機電腦即訊息佇列路由伺服器,先前屬於特定網域,目前則以工作群組模式執行。其他訊息佇列用戶端仍會將此電腦視為路由伺服器,且會嘗試透過此電腦路由傳送訊息
過期的電腦物件可能會導致 MSMQ 服務無法正確運作。刪除過期的電腦物件也許可以解決此問題。不過,刪除 Active Directory 網域服務 (AD DS) 中的電腦物件可能會導致用戶端電腦出現問題。刪除電腦物件之前,請確定在用戶端電腦中執行的服務不會受到影響。在此情況下,刪除訊息佇列 Active Directory 物件也會一併刪除該電腦中的公用佇列。
此錯誤可能是由下列其中一項狀況所造成:
過期的電腦物件
目錄服務整合功能中的設定錯誤。
過期的電腦物件
若要執行這些程序,您必須具備 Administrators 的成員資格,或者必須已被委派適當的權限。
刪除過期的電腦物件:
按一下 [開始],指向 [系統管理工具],以滑鼠右鍵按一下 [Active Directory 使用者和電腦],然後按一下 [以系統管理員身分執行]。
在 [檢視] 功能表中,確定已選取 [將使用者、連絡人、群組和電腦作為容器],且已選取 [進階功能]。
瀏覽至特定電腦。判斷該電腦底下是否有訊息佇列物件。
如果有訊息佇列物件,且該特定電腦並未安裝訊息佇列和 Active Directory 整合,則此物件已過期。刪除特定的訊息佇列 Active Directory 物件,然後重新啟動 MSMQ 服務,或者視需要重新啟動電腦。
目錄服務整合功能中的設定錯誤。
若要確認是否有目錄服務整合功能,請執行下列動作:
驗證登錄機碼設定
驗證電腦是否已加入正確的網域
驗證 Active Directory 作業
若要執行這些程序,您必須具備 Administrators 的成員資格,或者必須已被委派適當的權限。
注意: 不正確地編輯登錄可能會對系統造成嚴重損害。在變更登錄前,您應先備份所有重要的資料。
驗證登錄機碼設定
驗證登錄機碼設定:
開啟登錄編輯程式。若要開啟 [登錄編輯程式],請按一下 [開始.]。在搜尋方塊中輸入 regedit,然後按下 ENTER。
在 [登錄編輯程式] 中,依序展開 [HKEY_LOCAL_MACHINE]、[SOFTWARE]、[Microsoft] 和 [MSMQ],然後按一下 [設定]。
在詳細資料窗格中,按兩下 [msmq_ADIntegrated]。
確認 [數值資料] 設為 [1]。
展開 [MSMQ] 底下的 [參數]。
在詳細資料窗格中,按兩下 [工作群組.]。
確認 [數值資料] 未設為 [1]。
驗證電腦是否已加入正確的網域
驗證電腦是否已加入正確的網域:
開啟伺服器管理員。若要開啟 [伺服器管理員],請按一下 [開始],指向 [系統管理工具],然後按一下 [伺服器管理員]。
確認列於電腦資訊中的網域是正確的網域。
驗證 Active Directory 作業
驗證是否已於訊息佇列中啟用公用佇列功能,即可確認 Active Directory 是否正確運作。
確認公用佇列功能已啟用:
開啟電腦管理嵌入式管理單元。若要開啟 [電腦管理],請按一下 [開始]。在搜尋方塊中輸入 compmgmt.msc,然後按下 ENTER。
瀏覽至 [MSMQ]。
如果 [公用佇列] 資料夾已存在,且您可以在該資料夾上按一下滑鼠右鍵,即表示訊息佇列已使用 Active Directory 整合以網域模式正確運作。
如需進一步確認,請執行使用您要求之 Active Directory 功能的測試應用程式。
如需詳細資訊,請參閱事件識別碼 2169 ( http://technet.microsoft.com/en-us/library/dd337420(WS.10).aspx)
Target | Microsoft.MSMQ.6.3.Servers | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Event_ID | 2169 | ||
Event Source | $Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2169" Enabled="false" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</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="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2169</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.6.3.Rule.Alert.Event2169.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>