2008-11-21 155 views

回答

61

这工作:

sc.exe config "[servicename]" obj= "[.\username]" password= "[password]" 

这里每个[括号]项与真实参数替换了。 (请引号,但不保留括号内。)

只需记住:

  • 在上面的例子事项的间距。 obj= "foo"是正确的; obj="foo"不是。
  • '。'是本地机器的别名,如果您愿意,可以在那里指定一个域(或您的本地计算机名称)。
  • 密码在服务启动前不会被验证
  • 引用您的参数,如上所述。有时你可以不用引号,但祝你好运。
+6

安德鲁,它工作了很小的变化。 obj =“domain \ username”obj =“LocalSystem”,我们必须在obj =和username之间有空格。 userid的验证是很好的。我们必须在密码=和实际密码之间留出空格。密码未经验证,这有点痛苦。将服务重新设置回LocalSystem,它有password,我们给了一些虚拟密码来使它工作。像sc config“servicename”obj =“LocalSystem”password =“notused” – 2008-11-21 10:49:58

+0

当我试图在PowerShell中运行此命令时,出现如下错误:“Set-Content:无法找到接受参数'obj ='的位置参数。 “我通过使用CMD解决了这个问题:`cmd.exe -e“sc config Service obj = user password = pass”` – Jeremy 2011-11-22 00:32:57

8

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

sc.exe config Service obj= user password= pass 

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

HTH

相关问题