2011-06-30 33 views
0

將安裝了MSMQ的Microsoft 2003服務器移到其他域時應考慮哪些注意事項?如何在更改域後重置MSMQ權限

我們爲來自新域的用戶帳戶的隊列分配了權限。我們仍然收到錯誤「訪問消息排隊系統被拒絕」。

運行MSMQ的新域中沒有其他服務器。 MSMQ安裝在成員服務器上時是否有創建的Active Directory對象?

+0

您是否將裝有MSMQ的機器移動到另一個域? –

+0

是的。我們實際上必須從域中刪除服務器,重建一個新域,然後重新加入服務器到新域。我們刪除了權限列表中的孤立用戶對象,並從新域中添加了一個用戶。 – TerryA

回答

0

如果您沒有任何需要保存的消息或期刊歷史記錄,我建議您卸載並重新安裝MSMQ。

您是否使用嘗試發送消息的帳戶直接登錄服務器?這對於建立消息排隊證書是必需的,這是MSMQ的一個有點理解和記錄不足的區域。

+0

謝謝!我們會嘗試。我不認爲我們曾使用該帳戶登錄到服務器控制檯。 – TerryA

1

如果域位於不同的森林中,並且您希望使用公共隊列等,則需要重新安裝MSMQ,以便在AD中創建所有MSMQ對象。

什麼確切的操作會產生「訪問消息排隊系統被拒絕。」?

+0

我們軟件的一個組件會引發嵌入附加信息的錯誤消息。我們不使用公共隊列,也沒有看到在AD中爲MSMQ創建的任何對象。另一篇文章提到了AD對象,並且這個問題令人困惑。我相信我們找到了解決問題的方法。我們將公佈所採取的步驟。 – TerryA

+0

我以爲你在原始問題中提到了AD對象「在成員服務器上安裝MSMQ時是否有創建的Active Directory對象?」 –

1

問題已解決。問題是由我們的應用程序創建的私有隊列。這就解釋了爲什麼我們沒有看到任何創建的AD對象。使用域管理員憑據,我們嘗試使用MMC管理單元修改專用隊列上的權限。我們收到錯誤,無法進行必要的更改,因爲域管理員不在該隊列的ACL上。我們找到了解決問題的方法。我們創建了一個新的臨時私人隊列,並將完全控制權分配給我們應用程序所需的用戶帳戶。我們在\ system32 \ msmq \ storage \ lqs目錄中找到新創建的專用隊列配置文件。我們打開文件並複製整個安全線。然後,我們打開我們正在嘗試修復的專用隊列的配置文件,並將安全行粘貼到該文件中的同一行。我們保存了配置文件。我們重新啓動了MSMQ服務,然後啓動了我們的應用程序服務。應用程序現在可以正常工作。謝謝大家的幫助!

0

我們還發現了另一種更簡單的方法來重置專用隊列的權限。我們沒有修改專用隊列配置文件,而是將專用隊列的所有權作爲域管理員,爲我們的應用程序所需的用戶帳戶分配完全權限,並將所有權轉讓給同一用戶。這將專用隊列恢復到服務器移動之前的狀態。

+2

最好將這個和你發佈到_single_答案中的另一個答案合併,並標記最終接受的版本,以便將來的訪問者明白這個決議是什麼。不要忽視問題和答案下的編輯鏈接。 – sarnold