Подтвердить что ты не робот

Как изменить конфигурацию Msmq из режима рабочей группы в режим домена?

На компьютере существует общедоступная очередь с именем queue1. Я хочу отправить сообщения в эту очередь с машины B. Чтобы достичь этого, я написал этот код С#.

if (MessageQueue.Exists("machineA\queue1"))
{
    label1.Text = "queue found";
}
else
{
    label1.Text = "queue could not be found";
}

Но метод Exists() возвращает false на машине B. Тот же код хорошо работает на машине C.

Я нашел кое-что, связанное с режимом домена msmq и режимом рабочей группы. Я думаю, что msmq установлен в режиме workgoup на машине B.

Как изменить эту конфигурацию из режима рабочей группы в режим домена?

4b9b3361

Ответ 1

HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\

Проверьте данные для REG_DWORD workgroup. Это 1 или 0?

  • 1 - режим рабочей группы.
  • 0 - режим AD

Ответ 2

Запустите диспетчер сервера на компьютере, на котором размещена очередь. Щелкните правой кнопкой мыши на функциях и нажмите "добавить функции"

Разверните узел в очереди сообщений и в службах очереди сообщений. Вы должны установить флажок для интеграции службы каталогов.

Проверьте его и нажмите "Установить".

Обычно вам нужно перезагрузить сервер, чтобы он отображал изменения.

Ответ 3

В основном разница между режимом домена и рабочей группы не определяется значением флага реестра "рабочая группа", указанным @engin. Этот флаг только отражает текущий рабочий режим, но не устанавливает его.

Если вы работаете в режиме домена или рабочей группы, определяется, установлен ли MSMQ на контроллере домена или на сервере-члене. Подробности о различиях между этими двумя режимами можно найти здесь: https://support.microsoft.com/en-us/kb/884974/

MSMQ 1.0 используется только для поддержки режима домена. Текущая версия MSMQ 5.0.

Затем вы можете увидеть довольно интересное поведение при установке MSMQ на вашем DC, ваш флаг рабочей группы непрерывно возвращается к 1 после каждого перезапуска службы MSMQ. Это означает, что перед установкой функции интеграции служб каталогов на компьютере, являющемся контроллером домена, необходимо предоставить учетной записи службы сети разрешение на создание объектов объектов конфигурации MSMQ на объект компьютера в доменных службах Active Directory.

Вы можете найти подробную информацию о том, как это сделать здесь: https://technet.microsoft.com/en-us/library/cc730960.aspx
MSMQ работает под учетной записью сетевой службы (менее привилегированной) вместо (все мощной) учетной записи локальной системы, начиная с версии 4.0 (Vista/Server 2008)

Чтобы ответить на @mkus вопрос непосредственно на "установочный" режим домена, вы просто устанавливаете MSMQ на контроллере домена и убедитесь, что для учетной записи сетевой службы необходимы соответствующие разрешения, Как только это будет сделано, вы хорошо увидите, что он работает в режиме домена, при этом флаг рабочей группы автоматически переключается на 0, чтобы отразить это.

Также есть несколько ссылок для выяснения проблем, связанных с разрешениями объектов MSMQ, и когда/зачем вам их устанавливать: http://blogs.msdn.com/b/johnbreakwell/archive/2009/08/03/default-msmq-queue-permissions-have-changed-in-msmq-4-0.aspx. Вкратце, начиная с MSMQ 4.0 Все и анонимный вход в систему были удалены из ACL-объектов объектов MSMQ по умолчанию в качестве меры предосторожности против DoS-атак (хотя есть исключения для этого изменения, и одним из них является режим Workgroup).

И как вы можете прочитать в статье Technet ниже, вам нужно предоставить определенные привязки к объектам MSMQ либо для службы сети ИЛИ для учетных записей компьютеров strong > при установке службы маршрутизации на компьютере под управлением Windows Server 2008 R2 (или более поздней версии), который не является контроллером домена ИЛИ при установке функции интеграции службы каталогов очереди сообщений на компьютере под управлением Windows Server 2008 R2 (или более поздней версии), который является контроллер домена. Подробнее см. Здесь: https://technet.microsoft.com/en-us/library/cc749102(v=ws.10).aspx

Ответ 4

Я столкнулся с некоторыми проблемами, независимо от того, сколько я установил или удалил MSMQ или перезапустил, я все еще не мог использовать очередь. Поэтому я хотел опубликовать некоторые ссылки здесь.

http://support.microsoft.com/kb/935498

Когда он перейдет к разделу "Чтобы обойти эту проблему, используйте Active Directory - пользователи и компьютер Microsoft Management Console (MMC)...". Ниже описано, как вы это делаете.

Как удалить из активного каталога http://technet.microsoft.com/en-us/library/cc773660(v=WS.10).aspx "Удалить устаревшие компьютерные объекты" - это интересующая вас часть.

Я также нашел эту приятную ошибку в журнале событий. Служба Message Queuing не присоединится к домену. Объект MSMQ Configuration (msmq) существует в новом домене с идентификатором, отличным от идентификатора службы. Удалите конфигурацию MSMQ объект в новом домене, перезапустите службу очереди сообщений и снова войдите в систему ". Это помогло указать им путь.