Ручной выбор Master Browser в сетях Windows









Это еретический пост. В нем будет рассмотрена популярная проблема в Windows сетях: компьютеры не видят друг друга, хотя находятся в одной рабочей группе.

Для того что бы это починить достаточно на одном из постоянно включенных компьютеров в реестре установить значение









HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters
"MaintainServerList"="Yes"
"IsDomainMaster"="True"

перезагрузить компьютер и перезапустить сеть.






А теперь как это работает?







Computer Browser - в русском переводе Windows 7 Обозреватель компьютеров -
служба, отвечающая за корректную работу сетевого окружения. В локальной
сети должен присутствовать только один Master Browser(и несколько
резервных), именно он будет заправлять сопоставлением списка имен
компьютеров в локальной сети и ip адресов, а так же заботиться об
отображении сетевого окружения. Если же Master Broser'ов в сети
несколько, компьютеры будут выбирать для использования ближайший, что
приведет к негласному разделению локальной сети на куски, которые друг
друга не видят. Master Browser определяется во время выборов, на которые
нам нужно будет повлиять. Поумолчанию в Windows 7 служба Computer
Browser включена и компьютер может выполнять роль Master Browser -
потенциально у вас целый парк Master Brouser'ов.



Если у вас в сети есть компьютер с высоким аптаймом (для простоты будем
называть его сервер), разумно отдать роль Master Browser ему. В
интернетах популярен способ отключения службы (или запрет участия в
выборах) на всех рядовых компьютерах и включение ее на нескольких
серверах (кстати на Windows Server 2008 SP2 служба поумолчанию
отключена), однако в этом случае придется вмешаться в работу каждого
компьютера на производстве, отвлекать сотрудников и тратить свое время
на однообразные, малопродуктивные действия.



Очень редко в статьях упоминается что есть параметр IsDomainMaster,
который влияет на исход выборов мастер браузера в пользу компьютера, с
включенным параметром. Таким образом можно определить исход выборов Master Browser принудительно. Для этого достаточно включить службу Обозревателя Компьютеров на сервере, установить параметры в реестре


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters
"MaintainServerList"="Yes"
"IsDomainMaster"="True"

После чего нужно перезагрузиться и перезапустить всю сеть, что бы прошли
единые выборы в разобщенных племенах коммпьютеров. При следующих
выборах Master Browser'ом станет сервер.





Как узнать какой компьютер Master Browser?

nbtstat -a <имя компьютера>



пример на иллюстрации.

Таким образом придется проверить все машины в сети. Более простого способа я не нашел.