我能否获得跨子网的工作组计算机的完整列表?

我的networking由大约300个vlan组成(他们之间没有广播)。 在这些子网中的每一个都是Windows电脑(XP,Vista,七)。 他们都包含在同一个工作组(即他们不在一个域)。 计算机能否获得工作组中所有计算机的列表,包括来自其他vlan的计算机?

我目前有一个胜利的服务器和域主浏览器。 在子网中,计算机正在select一个本地主浏览器,但是它们不与域主服务器同步它们的列表; 所以每个vlan只能包含在其子网中的计算机。 实现这种同步的唯一的东西是samba(configuration成本地主机),但所有的vlan只有基于Windows的计算机。

有没有办法得到一个完整的清单?

您需要将所有客户端configuration为使用中央WINS服务器或在每个子网上设置WINS服务器,并使WINS服务器将\ pull合作伙伴推送到彼此。

除了像joeqwerty这样的领域或对等的WINS设置,其他更可维护的方法,我可能会采取暴力的方法。 设置一个连接到中继端口的linux盒子,这样它就可以访问所有的vlan。 然后我会编写这个脚本:

for vlanNumber in `seq 1 300`; do # create a virtual network device on vlan using vconfig # get dhcp lease using dhclient # use nmblookup to gather all the machine names and append them to a file # release the dhcp lease # drop the vlan interface done 

当然不是很漂亮,但它可能会成功完成这项工作。

  1. vconfig的
  2. nmblookup
  3. dhclient的

你在这个环境中使用DHCP吗? 如果是这样,我相信你可以指定一个或多个WINS服务器作为DHCP租约的一部分。 这是ISC DHCP中的netbios-name-servers选项。 这将configuration它们使用您指定的wins服务器,而不必去碰每台机器。