【问题标题】:How to change user credentials of windows service from command line?如何从命令行更改 Windows 服务的用户凭据?
【发布时间】:2009-06-08 19:00:11
【问题描述】:

如何从命令行更改 Windows 服务的用户凭据?

【问题讨论】:

  • 与程序员无关,请尝试 serverfault.com 解决此类问题。

标签: command-line windows-services


【解决方案1】:
sc.exe config "Service Name" obj= "DOMAIN\User" password= "password" type= own

Shortcut Setting Log-On Credentials for Windows Services » jonathanmalek.com

@MattT 指出在 Windows Server 2008R2 上您必须添加 type= own,但在该版本之前没有必要。

在 PowerShell 3+ 中,您可以避免使用 stop-parsing symbol 转义参数:--%

sc.exe --% config "Service Name" obj= "DOMAIN\User" password= "password" type= own

【讨论】:

  • 有什么方法可以让用户也可以从命令行授予“作为服务登录”的权限吗?
  • @Kiquenet sc.exe \\servername config …(需要反斜杠)technet.microsoft.com/en-us/library/cc990290.aspx
  • 请注意,密码中的特殊字符需要转义——在我的情况下,% 导致服务登录失败,直到我将其更改为 %%。见stackoverflow.com/a/27451200/550712
  • 从 Windows server 2008R2 开始,需要添加参数“type= own”(不带引号)才能使其正常工作。否则sc报错“参数不正确”
  • 从此命令更改登录后,我在使用“net start service_name”启动服务时遇到了问题。这是因为用户缺少登录服务权限。 docs.microsoft.com/en-us/previous-versions/windows/it-pro/…
【解决方案2】:

我只是从 powershell 调用 WMI 来执行此操作。

$Svc = Get-WmiObject win32_service -filter "name='ServiceName'"
$Svc.Change($Null, $Null, $Null, $Null, $Null, $Null, "User", "Password")

事后别忘了重启服务:

Stop-Service -Name 'ServiceName'
Start-Service -Name 'ServiceName'

有关 WMI 和服务的更多乐趣,请参阅 Win32_Service Class

【讨论】:

  • 你对简单的定义很奇怪。 ;)
  • 如果您了解 WMI,这很简单。当然,WMI 并不简单。 :-)
【解决方案3】:

使用 WMI 会导致您的机器与您正在更改服务凭据的机器之间进行非加密通信。所以你的新密码很容易被嗅探。您只需解析通过网络发送的 WMI blob。到目前为止,我发现没有真正安全的方法可以使用工具远程更改服务帐户密码。

【讨论】:

【解决方案4】:

对于那些想知道如何传递安全密码的人:

$credentials = Get-Credential -UserName 'Domain\username' -Message 'Enter password below'
$service = Get-WmiObject win32_service -filter "name='SERVICE_NAME'"
$service.Change($null,$null,$null,$null,$null,$null,$credentials.username,($credentials.Password | ConvertFrom-SecureString))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    相关资源
    最近更新 更多