[英]Service in Windows 7 operating system not using the hosts file as local service
我编写了一个通过网络调用另一个服务的Windows服务。
其他服务的IP在hosts文件中定义。
Windows服务作为本地系统运行。
在Windows Server 2008上,这可以正常工作。 使用hosts文件中的IP。
在Windows 7上, 不使用hosts文件中的IP。 相反,它使用普通的DNS。
如果我使用普通用户而不是本地系统,则行为是正确的。 与Windows Server 2008上的相同。使用主机文件。
我可以在本地系统和普通用户之间可靠地切换相同的服务二进制文件,而无需触及hosts文件,错误是可重现的。 所以它不是在任何地方缓存任何东西或者有错误的主机文件。
我错过了Windows 7中的任何内容吗? 为什么作为本地系统运行的服务不使用hosts文件?
它作为普通用户工作的原因可能是:您可能在%LOCALAPPDATA%\\VirtualStore
有一个重复的hosts
文件,这是一个重定向文件夹,用于以非管理员身份运行并尝试写入系统位置的程序。 如果是这种情况,那么当您认为编辑系统时,您实际上会看到错误的hosts
文件!
另一个原因可能是设置为file的错误权限。 请从https://serverfault.com/a/452269尝试第5点
您可以使用PSTools运行任何系统来调试像explorer.exe或cmd.exe这样的系统,然后您可以浏览主机并检查它
psexec -i -s cmd.exe
psexec -i -s ping your.host
避免在hosts文件上为同一主机多次输入
即使你谈到它我发布了一些调试命令
ipconfig /flushdns
nbtstat -R
(重置netbios)
您可以检查DNS缓存
ipconfig /displaydns | more
Windows使用此注册表项设置hosts文件位置
\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\DataBasePath
检查代理配置它可以绕过主机
检查“etc”目录权限和“hosts”文件权限
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.