Garante que um aplicativo seja iniciado como um usuário em um servidor

2

Eu preciso garantir que um aplicativo seja executado em um servidor sempre, como um serviço, mas por alguma razão não consigo criar um serviço de janela real. Eu gostaria de ter este aplicativo em execução como um usuário com sua própria área de trabalho (não na Session0). Eu sei que isso é o pior tipo de prática, mas não tenho outra solução. Qual é a melhor maneira de conseguir isso?

    
por Felice Pollano 05.02.2013 / 21:08

1 resposta

2

Aqui está uma solução feia, rápida e suja, insegura (e provavelmente desaconselhável):

  • Configure o computador servidor com um AutoAdminLogon como algum usuário com capacidade de logon interativo. Vamos chamar esse usuário "user1".

  • Enquanto estiver conectado como esse usuário, crie um arquivo .RDP para efetuar logon no computador servidor e salve as credenciais da conta de usuário que hospedará o aplicativo que você deseja executar nos Serviços de Terminal. Vamos chamar esse usuário "user2".

  • Salve o arquivo .RDP no grupo de programas "user1" "Inicialização".

  • Salve um atalho para o aplicativo que você precisa iniciar no grupo de programas "user2" "Startup".

  • Adicione um atalho aos grupos de programas "Inicialização" "user1" e "user2" para executar rundll32.exe user32.dll,LockWorkStation para bloquear a estação de trabalho imediatamente após o logon.

Quando o servidor inicializar, ele fará logon como "user1", iniciará o cliente dos Serviços de Terminal com credenciais salvas para "user2" e bloqueará a estação de trabalho. O cliente dos Serviços de Terminal fará o logon "user2", iniciará o aplicativo que você pretende executar em sua própria sessão e, em seguida, bloqueará a estação de trabalho.

Isso meio que me faz sentir sujo.

    
por 05.02.2013 / 21:46