服务控制管理器 (sc.exe) 在主机文件中使用本地主机别名时失败,但在直接使用环回地址时成功

Service Control Manager (sc.exe) fails when using a localhost alias in hosts file, but succeeds when using the loopback address directly

我是运行命令:

sc \My-Server create TestService binPath= "C:\Test\Test.exe"

然而,它失败了

[SC] OpenSCManager FAILED 5:

Access is denied.

我的主机文件包含:

127.0.0.1 My-Server

但是,如果我执行下面的命令,它工作得很好!

sc \127.0.0.1 create TestService binPath= "C:\Test\Test.exe"
[SC] CreateService SUCCESS

我是 运行 cmd 管理员。有什么想法吗?

已解决。我找到了这个帖子:https://serverfault.com/questions/184098/why-cant-i-access-an-administrative-share-on-my-local-machine

第 2 步:“允许服务器计算机通过 DNS 别名 (BackConnectionHostNames) 使用文件共享”为我解决了这个问题。我在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 中添加了一个名为 BackConnectionHostNames 的 multi-string 值,并赋予它 My-Server 的值。 运行 再次执行 sc 命令,它成功了。