Start / Stop Service quando o usuário faz log in / out

2

Eu tenho um usuário do sistema dedicado ao meu trabalho. No trabalho eu preciso de postgres, no entanto, não preciso disso em nenhum outro lugar. Existe uma maneira de iniciar o serviço postgres quando o usuário faz o login e o interrompe quando eu efetuo o logout?

Observe que o usuário não tem privilégios de administrador e atualmente não consigo iniciar o serviço com essa conta de usuário. Se eu tiver que mudá-lo, tudo bem, mas abaixo do ideal.

editar

Durante o trabalho, mudo o usuário do trabalho para a minha conta de usuário normal. Quando eu fizer este postgres deve continuar a correr.

    
por Mene 19.01.2012 / 13:21

2 respostas

3

Você pode fazer isso usando tarefas agendadas.

Use o gatilho On connection to user session para executar um script em lote contendo NET START [Service Name]

Use o gatilho On disconnect from user session para executar um script em lote contendo NET STOP [Service Name]

Mais informações sobre os acionadores aqui: link

Você deve ser capaz de definir as tarefas para serem executadas em uma conta que tenha permissões para iniciar / parar serviços, para que você não precise elevar os privilégios de seu usuário.

EDITAR OS SEGUINTES COMENTÁRIOS E ATUALIZAR A PERGUNTA:

Use o gatilho At log on para executar NET com START [Service Name] como o parâmetro

Use o gatilho On an event (configurações personalizadas, ID do evento 4647, logoff iniciado pelo usuário, para o usuário) para executar NET com STOP [Service Name] como o parâmetro

    
por 19.01.2012 / 13:58
1

Outra alternativa é usar Políticas de Grupo.

Conectado como usuário postgres:

gpedit.msc - > User Configuration - > Windows Settings - > Scripts (Logon/Logoff)

Isso exigirá que o usuário tenha permissão para iniciar / parar serviços

    
por 19.01.2012 / 16:48