作者:ERIK又 | 2023-09-02 16:50
使用sc命令我们可以查询,启动,停止Windows服务.
例如:
sc query "windows service name"
该sc配置命令改变服务的配置,但我不知道如何使用它.
有人能告诉我如何为任何Windows服务设置用户名和密码吗?
1> Andrew Ferri..:
这有效:
sc.exe config "[servicename]" obj= "[.\username]" password= "[password]"
每个[括号内]项目都用真实参数替换.(保留引号,但不要保留括号.)
请记住:
上述例子中的间距很重要. obj= "foo"
是正确的; obj="foo"
不是.
'' 是本地计算机的别名,您可以根据需要指定域(或本地计算机名称).
在服务启动之前,密码不会被验证
引用你的参数,如上所述.你有时可以不加引号,但祝你好运.
安德鲁,它做了一些微小的改变.obj ="domain\username"obj ="LocalSystem"我们必须在obj =和username之间有空格.userid的验证是好的.我们必须在password =和实际密码之间有空格.密码未经验证,这有点痛苦.再次将服务重新设置为具有密码的LocalSystem,我们提供了一些虚拟密码以使其工作.喜欢sc config"servicename"obj ="LocalSystem"password ="notused"
如果服务已经"与桌面交互"设置,你将得到一个错误代码87.为了解决这个问题:`sc.exe config"ServiceName"obj ="USER @ DOMAIN"password ="MyPassword"TYPE = own` (https://support.microsoft.com/en-us/kb/264663)
这也不起作用.SC config*service*obj ="*service name*"password ="*password*"未正确设置密码 - 因此无法启动服务.
@Jeremy在powershell中,"sc"是Set-Content的别名.请改用"&sc.exe",不会发生冲突.
2> 小智..:
在PowerShell中,"sc"命令是Set-Content cmdlet的别名.您可以使用以下语法解决此问题:
sc.exe config Service obj= user password= pass
指定.exe扩展名,PowerShell绕过别名查找.
HTH