Como posso consultar o WMI para saber o nome do usuário que iniciou um serviço?

0

Eu usei várias consultas WMI no Windows8.1x64 em wbemtest.exe para tentar descobrir qual usuário iniciou um serviço específico. Os que me trouxeram "até agora" são apresentados aqui. Eu sei que se eu consultar o objeto win32_service como:

select * from win32_service where name like '%SERVICENAME%'

Eu obtenho apenas um resultado (o serviço que estou procurando), então eu clico duas vezes nele para procurar as propriedades do serviço e descobri que há uma propriedade chamada "StartName" que mostra o nome do usuário que o iniciou ( é isso que eu quero).

Agora, o problema começa quando eu faço:

 select StartName from win32_service where name like '%SERVICENAME%'

Eu recebo Win32_Service = <no key>

Mesmo sem a cláusula where mostra o mesmo. (Mas para todos os serviços locais)

O que estou perdendo para que funcione corretamente?

    
por safejrz 10.01.2014 / 18:03

1 resposta

1

Essa propriedade não é quem iniciou , mas quem deve iniciar como , ou seja, a conta em que será executada.

Acho que a melhor aposta para você aqui é o log de eventos, embora eu ache que ele só mostrará serviços que entraram parados e iniciaram estados por padrão.

O serviço normalmente será executado em SYSTEM ou NETWORK SERVICE ou outra conta do sistema, portanto, mesmo se você encontrar o processo executável, isso não conterá a resposta.

Em suma, isso é complicado. Eu acho que você pode precisar olhar para os recursos de auditoria no Windows. O fato de ser um serviço significa que, geralmente, será o sistema que o inicia, e não o usuário, de qualquer maneira.

    
por 10.01.2014 / 18:11