在Windows上,如何在不重新引导的情况下刷新主机文件?

#1 楼

您无需重启。您对hosts文件所做的任何更改都是立即的。您以前需要重新启动才能使更改在Windows 9x中生效。

但是,您可能需要重新启动进行内部主机名或DNS缓存的所有应用程序,例如Web浏览器。

评论


但是您可能需要重新启动正在运行的应用程序,因为可能会缓存DNS条目。

– Barfieldmv
2012年2月28日在9:24

绝对要添加正在运行的应用程序DNS,因为这才是最重要的。据我所知并在不久前进行了测试,Firefox需要60秒才能刷新。

– Xonatron
2012年5月21日13:44

重新启动Chrome不会获取您对Windows上的主机文件所做的更改。导航至chrome:// net-internals /#dns,然后按“清除主机缓存”按钮。

– 2Toad
13年11月27日在19:02



抱歉,它在我的Windows 7上无法正常工作。每个人都应该考虑提议的其他解决方案,例如:computerstepbystep.com/dns_client_service.html

–上一个
2014年12月22日上午11:46

实际上,我错了:提议的解决方案中没有一个起作用。我不得不重新启动Windows。甚至ping也无法获取更新。使用ping的ProcMon进行监视可以帮助查看尝试解析域时调用了哪个进程。

–上一个
2014年12月22日上午11:58

#2 楼

您是否尝试过ipconfig / flushdns?不过,我没有发现需要重新启动。

评论


从管理员命令提示符运行此命令(在打开时按住Ctrl + Shift)。

–沃尔夫
17年4月10日在5:33

不,这些都不对我有用

– Eoin
19年8月14日在11:25

#3 楼

只是警告,NSLOOKUP仍然会从DNS服务器检索结果,永远不会查看主机文件。要检查您的新名称是否有效,请尝试使用ping命令。

评论


我敢肯定,有90%的人进入这里寻找答案:)

–卡洛斯·加西亚(Carlos Garcia)
7月23日14:28

#4 楼

IE缓存DNS条目。您需要启动一个新的IE实例才能查看主机文件的更改。

评论


Firefox在大约60秒后刷新,您应仔细检查IE也不会刷新。

– Xonatron
2012年5月21日13:45

IE9几分钟未检测到更改。这样更容易使用ipconfig / flushdns

–马库斯
2012年8月22日12:20

#5 楼

ipconfig /flushdns将刷新本地dns缓存。 nbtstat -R将刷新netbios缓存。 <-----应该使用大写的“ R”。

您可能想要确保没有当前主机到使用netstat -a或类似tcpview添加名称解析的主机连接。

除非您具有用于将域名附加到主机末尾的dns后缀设置,否则通常可以通过使用单个名称进行解析来判断它是否是netbios。公司网络通常在域名后缀并添加搜索顺序以简化网络上主机的本地解析。

我注意到我使用的一些应用程序还缓存了其中一些响应,并且必须确保在解决方案正常运行之前将它们完全关闭。尽管没有活动的窗口,Firefox和IE还是偶尔会在后台运行,但这可能是我的错而不是应用程序。

#6 楼

由于可以立即看到更改,因此您可能会在应用程序中看到另一个DNS缓存。我相信Firefox的DNS缓存的TTL大约为60秒,我相信:如果做出了更改并且等不及一分钟,我通常只重新启动firefox。

评论


这次真是万分感谢!我不知道我只需要等待60秒(我没有安排时间,但是关于这个),Firefox才能更新DNS。比重新设置工作流需要60秒钟以上要好得多。

– Xonatron
2012年5月21日13:43

#7 楼

这一次对我有帮助:“重新启动dnsclient服务和DNS服务器服务”
Dave Guenthner [MSFT]微软

评论


对我而言,仅> ipconfig / flushdns不能在不重新启动的情况下工作,但随后重新启动dnsclient则可以。谢谢!

–克里斯汀·怀特(Kristen Waite)
2013年12月12日17:26

#8 楼

正如@Ferruccio所说,在Windows中主机更改应立即生效。但是,如果您使用的是Microsoft防火墙客户端管理软件之类的软件,则可能是在为您执行DNS查询。尝试禁用任何代理软件,看看是否可行。

#9 楼

我使用Windows Vista通过VPN连接到办公室。我使用LMHOSTS文件为VPN另一端的IP地址定义名称。

与其他注释不同,我发现更新LMHOSTS文件后对名称进行ping操作不会立即使用新IP。最终确实会发生,但是为了加快我使用的过程:

nbtstat -R

“ -R(重新加载)清除并重新加载远程缓存名称表”

我尝试了ipconfig / flushdns,但对我不起作用。

[您必须以管理员身份打开命令。或从具有管理员权限的命令提示符下运行它]

#10 楼

Powershell cmdlet Set-HostsEntry和Remove-HostsEntry
无需重新启动,可以计划,可以在连接到特定Wifi或网络名称时触发

Set-HostsEntry -IPAddress 10.5.6.7 -HostName'myserver'

删除-HostsEntry -HostName'myserver'


http://中作为碳包的一部分安装get-carbon.org/

为我和我的临时内部电子邮件服务器工作。