Bom dia,
estou escrevendo o procedimento de instalação de um produto que incorpora um serviço do Windows. Para instalar esse serviço, um wrapper é usado, referindo-se a uma configuração ( java -jar wrapper.jar -i <product>.conf
).
Agora parece haver algum link para a conta: quando um serviço do Windows é instalado como Conta1, ele não pode ser iniciado / interrompido pela Conta2.
Então, eu (Conta2) gostaria de interrogar o serviço do Windows e dizer "Se você estiver instalado pela Conta1, será necessário desinstalar e eu mesmo instalarei você".
Agora a pergunta: como posso saber qual conta instalou o serviço Windows mencionado? Eu já tentei:
sc query <Service_Name>
sc qc <Service_Name>
sc qprivs <Service_Name>
sc qmanagedaccount <Service_Name>
sc quserservice <Service_Name>
wmic service <Service_Name> list full
(Veja, estou ficando desesperado :-))
Nenhum dos comandos mencionados forneceu o nome de usuário "Conta1".
Alguém sabe como fazer isto?
Respostas:
Como posso saber qual conta instalou um serviço do Windows?
Você pode usar
wevtutil
para recuperar essas informações:O evento que você precisa procurar é o ID do Evento 4697: Um serviço foi instalado no sistema. :
O comando a seguir mostrará
Account Name
o último serviço criado:Se você criou o serviço usando o
sc create
comando, será necessário procurar o ID do Evento: 7045 Origem: gerenciador de controle de serviço e procurarUser Name
:Exemplo:
Leitura adicional
fonte