繁体   English   中英

Windows 7操作系统中的服务不使用hosts文件作为本地服务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM