如何通过命令行设置Windows服务用户名和密码

sun*_*pal 36 windows service command-line

使用sc命令我们可以查询,启动,停止Windows服务.
例如:

sc query "windows service name"
Run Code Online (Sandbox Code Playgroud)

sc配置命令改变服务的配置,但我不知道如何使用它.

有人能告诉我如何为任何Windows服务设置用户名和密码吗?

And*_*ier 76

这有效:

sc.exe config "[servicename]" obj= "[.\username]" password= "[password]"
Run Code Online (Sandbox Code Playgroud)

每个[括号内]项目都用真实参数替换.(保留引号,但不要保留括号.)

请记住:

  • 上述例子中的间距很重要. obj= "foo"是正确的; obj="foo"不是.
  • '' 是本地计算机的别名,您可以根据需要指定域(或本地计算机名称).
  • 在服务启动之前,密码不会被验证
  • 引用你的参数,如上所述.你有时可以不加引号,但祝你好运.

  • 安德鲁,它做了一些微小的改变.obj ="domain\username"obj ="LocalSystem"我们必须在obj =和username之间有空格.userid的验证是好的.我们必须在password =和实际密码之间有空格.密码未经验证,这有点痛苦.再次将服务重新设置为具有密码的LocalSystem,我们提供了一些虚拟密码以使其工作.喜欢sc config"servicename"obj ="LocalSystem"password ="notused" (7认同)
  • 如果服务已经"与桌面交互"设置,你将得到一个错误代码87.为了解决这个问题:`sc.exe config"ServiceName"obj ="USER @ DOMAIN"password ="MyPassword"TYPE = own` (https://support.microsoft.com/en-us/kb/264663) (5认同)
  • 这也不起作用.SC config*service*obj ="*service name*"password ="*password*"未正确设置密码 - 因此无法启动服务. (2认同)
  • @Jeremy在powershell中,"sc"是Set-Content的别名.请改用"&sc.exe",不会发生冲突. (2认同)

小智 8

在PowerShell中,"sc"命令是Set-Content cmdlet的别名.您可以使用以下语法解决此问题:

sc.exe config Service obj= user password= pass
Run Code Online (Sandbox Code Playgroud)

指定.exe扩展名,PowerShell绕过别名查找.

HTH