我们需要在networking上为每个用户添加一行到主机文件。 我有pipe理员权限,但不知道有关Windows脚本的第一件事。 有人能指出我在这个正确的方向吗? 我没有所有的机器名称的列表,所以我更喜欢一个脚本,可以发现networking上的所有机器,并进行更新。
我意识到的问题是关于通过vbscript修改主机文件。
为您想要parsing的主机名创build一个新的内部DNS条目会更有效吗? 如果你真的想让networking上的每一个用户/机器看到这个变化,也许这会更容易?
如果你有一个域名,只需使用别人build议的login脚本(组策略对象)方法,并告诉每个人重新启动。
更好:将条目添加到本地DNS服务器。
否则,VBScript仍然不是必需的。 考虑一个像这样的行的batch file:
echo 10.20.30.40 fishsticks >> \\hostname\c$\windows\system32\drivers\etc\hosts
一边说:你没有听起来有组织。
这不是你问到的问题,而是你应该首先解决的问题。
获取一个电子表格,并计算机器,如果你必须。
不要使用“HOSTS”文件。 期。 用户HOSTS文件的任何“解决scheme”只是创build一个新的问题。
我认为你有一个Active Directory域。 启动域控制器上的“DNSpipe理”pipe理控制台(可能性也是您的DNS服务器之一),打开服务器节点“正向查找区域”节点,并突出显示与您的活动对应的区域目录域。 点击“操作”(在菜单中)和“新build主机”。 input新主机的主机名和IP地址。
在5分钟内,该DNS服务器的客户端将能够parsing该主机名。
推测你是一个系统pipe理员。 这听起来像你需要花一些时间学习DNS,因为它将为你节省很多头痛在未来。
Puppet是一个configurationpipe理解决scheme,说它支持Windows 🙂
像SCCM这样的工具,你将无法发现networking上机器的确切列表。
首先要find主机:
如果您可以在GPO中使用启动脚本,这很容易
如果不是的话,那么如果你对脚本不太熟练,我会采取一种平凡的方法。 首先使用像angryIP这样的工具来获取你想修改工具的所有窗口的列表
然后…
如果你有GPO,我只需要写一个类似echo 192.168.0.2 hostname > %systemroot%\system32\drivers\etc\hosts.的batch fileecho 192.168.0.2 hostname > %systemroot%\system32\drivers\etc\hosts.
如果您没有GPO,请查看PStools(特别是PSexec)。 将使用angryIP发现的主机名复制到hostfile中,然后使用psexec以主机名文件作为arrays运行该命令,如下所示:psexec @hostfile“echo 192.168.0.2 hostname>%systemroot%\ system32 \ drivers \ etc \主机”
也许,是时候在那里设置本地DNS了? 🙂
同意build议查看DNS,但是我们不要忘记,可能有一些可怕的旧的旧应用程序仍然需要在这个networking上的主机名称parsing。
如果你正在使用网关服务器,那么修改那里的主机,一切都很好。 其他方面,如果你的路由器(cisco / juniper)允许一个文本版本的主机文件把它放在那里。 这将规避必须在每个客户端上放置主机文件。