2009-06-08 10 views

Respuesta

48
sc.exe config "Service Name" obj= "DOMAIN\User" password= "password" 

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

@MattT señala que en Windows Server 2008R2, también debe agregar type= own.

+4

¿Hay alguna manera de otorgarle al usuario el derecho de "Iniciar sesión como servicio" también desde la línea de comandos? – ColinM

+0

Aparentemente hay una herramienta del Kit de recursos para esto: http://serverfault.com/questions/188383/looking-to-add-the-log-on-as-a-service-right-to-an-account-via- the-command-lin – brianary

+0

¿Utiliza sc para cambiar las credenciales (del servicio de Windows) en una computadora remota? – Kiquenet

8

Simplemente llamé a WMI de powershell para que hiciera esto.

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

No se olvide de reiniciar el servicio después:

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

Para más diversión con WMI y los servicios, ver Win32_Service Class

+10

Tiene una extraña definición de simple. ;) –

+0

Es simple si entiende WMI. Por supuesto, WMI no es simple. :-) –

2

El uso de WMI da como resultado una comunicación no encriptada entre su máquina y la máquina en la que está cambiando las credenciales del servicio. De modo que su nueva contraseña puede ser olfateada con bastante facilidad. Solo tiene que analizar el envío de blob de WMI a través de la red. Por ahora, no encontré una forma realmente segura de cambiar la contraseña de una cuenta de servicio remotamente con una herramienta.

+0

¿No se puede forzar la comunicación cifrada? Algo de esta página podría ayudar? https://msdn.microsoft.com/en-us/library/aa393266(v=vs.85).aspx – wilx

Cuestiones relacionadas