为什么更改主机文件中的主机名不会更改我的计算机名称?

Why does changing a hostname in the hosts file not change my computer name?

我必须 运行 一些不同名称的服务器。所以我在 Windows 10 inside C:\Windows\System32\drivers\etc\hosts 中更改了主机名。我将名称从 localhost 更改为 brandcil.local:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       brandcil.local
#   ::1             brandcil.local

现在,当我在 powershell 终端中 运行ning nslookup 127.0.0.1 时,显示如下:

Server:  UnKnown
Address:  192.168.43.1

Name:    localhost
Address:  127.0.0.1

我重新启动了我的机器,但它没有生效。那么我该如何更改主机名?

更改 hosts 文件不会更改主机名。它仅用于主机名-IP-解析。除此之外,以 # 开头的每一行都是注释而不是活动配置。您可以使用以下 PowerShell cmdlet 重命名计算机:

Rename-Computer -NewName brandcil -Restart

首先,主机文件中任何以#开头的行都是注释,将被忽略。如果您阅读文件,文件本身会告诉您这一点。其次,hosts 文件与您计算机的主机名无关。您所做的只是创建别名,这些别名只能在您修改主机文件的机器上使用。您根本没有更改主机名。第三,localhost -> 127.0.0.1 是一个不再受主机文件控制的静态映射,因此它将始终映射到 127.0.0.1。同样,如果您阅读主机文件,它会告诉您这一点。

要重命名您的计算机,请进入“设置”-->“系统”-->“关于”。有一个“重命名这台电脑”按钮。

如果您不想使用它,那么我建议使用 Rename-Computer Powershell 命令。