该问题与这些现有问题不重复:
- AUTHORITY\NetworkService 不存在(问题针对 Windows Server 2003
- 我如何以“NT Authority \ NetworkService”的身份运行进程?(这是一个脚本问题)
- https://stackoverflow.com/questions/34966029/adding-permissions-for-nt-authority-networkservice(这是关于将
NT AUTHORITY
主体添加到 ACL,而不是在“查找用户”GUI 中选择主体)
我在不同的计算机上配置了 Windows 服务:
- 工作站(非域)计算机(运行 Windows 10)
- 工作站(非域)Windows Server(运行 Windows Server 2016)
- 域工作站(运行 Windows 10)
- 域成员服务器(运行 Windows Server 2016)
- 域控制器(运行 Windows Server 2016)
加入域的计算机和成员服务器:
在除域控制器之外的所有计算机中,services.msc
“> 服务属性”>“登录”属性表的“选择用户”弹出窗口让我选择NT AUTHORITY
内置主体NETWORK SERVICE
和LOCAL SERVICE
(又名NT AUTHORITY\NetworkService
和NT AUTHORITY\LocalService
)。
如果我忽略“搜索用户”窗口并仅network service
在“选择用户”窗口中键入“ ”,然后单击“检查名称”,则它会正确解析为NETWORK SERVICE
:
域控制器:
但是,在此 Windows Server 2016 域控制器上,“选择用户”弹出窗口不允许我指定任何本地计算机名称(这是有道理的:本地计算机的安全系统成为域安全系统)。
...这意味着无法解析、搜索或选择NETWORK SERVICE
或LOCAL SERVICE
:
当我直接在“登录”选项卡中输入它时,出现此错误:
帐户名无效或不存在,或者指定的帐户名的密码无效。
我注意到,在域控制器上,“选择用户或服务帐户”窗口只允许我选择“服务帐户”或“用户”,而不是“内置安全主体”。
加入域的工作站或成员服务器:
域控制器(Windows Server 2012 R2,但2016也一样):
sc config
我知道我可以通过使用或手动编辑注册表来设置服务登录帐户(或者在“此帐户:”文本框中键入“ Local Service
”或“ Network Service
”),但是在其他情况下我需要在域控制器上的 Services.msc 之外使用“选择用户或服务帐户”对话框,该怎么办?
答案1
根据您最后的屏幕截图,您遗漏了帐户名称中的空格。请尝试Local Service
其他方法。
如果这不起作用,你可以在命令行上执行如图所示,我会这样写:
sc config ServiceName obj= "NT AUTHORITY\Local Service" password= ""
请注意,在命令行版本中, 或 都LocalService
可以Local Service
接受,但在 GUI 中只有后者有效。我不知道为什么,但事实就是如此。
答案2
在域控制器上执行此操作时,您需要将“内置安全主体”添加到对象类型中。实际上,您只搜索用户和服务帐户对象类型。
答案3
您也可以直接转到“以身份登录”选项卡并在文本输入框中指定 NT AUTHORITY\LocalService 作为用户名并清除两个密码字段,然后单击“确定”。
答案4
您可以通过选择本地系统帐户并检查允许服务与桌面交互点击申请并点击好的并在更改后重新启动服务。