Como posso iniciar um serviço em uma máquina remota usando um usuário diferente?

1

Eu tenho o mesmo serviço em execução em uma dúzia de máquinas de teste. Disse que o serviço foi interrompido (especificamente, foi desativado e desativado por um teste e o teste morreu na metade) e eu quero reativá-lo e reiniciá-lo em todas essas máquinas. A solução normal é sc \machine config ServiceName start=auto seguida de sc \machine start ServiceName e funciona bem se minha conta de usuário estiver autorizada na outra máquina. Mas como essas são máquinas de teste clonadas criadas a partir de uma imagem comum que não me conhece de Adam, elas não me reconhecem. Eu sei que poderia entrar e me autorizar nessas máquinas, mas elas são limpas regularmente e estou tentando economizar algum tempo.

Eu sei a senha do Administrador local para todas essas máquinas. (E é a mesma coisa, devido à clonagem.) Como posso executar sc.exe para que ele faça login com esse usuário? Ou existe outra maneira de ativar e iniciar esses serviços programaticamente na minha máquina? (Eu tenho um script do PowerShell em ciclo de dead-simple pronto para ser usado, mas não é muito útil se eu não puder encontrar um comando para ser executado que será aceito.)

Para referência, aqui está a mensagem de erro que estou recebendo:

[SC] OpenSCManager FAILED 5:

Access is denied.
    
por PotatoEngineer 15.08.2013 / 03:54

2 respostas

2

sc \machine config ServiceName start= auto obj= Username password= PWD

    
por 15.08.2013 / 13:41
3

Use PsTools , que funciona como o sc.exe, mas permite que você faça logon em um controle remoto sistema usando uma conta diferente. Acesse aqui para baixá-lo. O uso é psservice [\computer [-u username] [-p password]] <command> <options> usando os mesmos comandos do sc.exe. Então, dado o seu exemplo, você entraria

psservice \machine -u AdminUserName -p AdminPassword config ServiceName start=auto

e depois

psservice \machine -u AdminUserName -p AdminPassword start ServiceName
    
por 26.08.2014 / 22:38