Estou tentando executar um aplicativo em qualquer login de usuário (ou conexão de sessão, seja local ou remoto) com privilégios elevados, mas sem o prompt do UAC. Quando um novo usuário é adicionado, o aplicativo também deve ser executado nos seus sinais, sem configuração adicional.
Eu configurei a máquina do Hyper-V com o Windows 10 Enterprise v.1709 para fins de teste. Nela eu tenho a conta principal (referenciada como "Admin"), que está no grupo Administradores, e uma conta (referenciada como "Usuário") que está somente no grupo Usuários.
Eu criei uma aplicação WPF simples que mostra o usuário atual e se ele tem privilégios de administrador. A aplicação final também será o WPF.
Eu usarei o WiX para criar o instalador do meu pacote de aplicativos (aplicativo mencionado acima, serviço do Windows, talvez algo mais). O comportamento do título deve ser definido automaticamente durante a instalação. Na instalação, posso fazer o que quiser, sendo limitado apenas pelos recursos do WiX, mas ele permite que eu execute o aplicativo personalizado (C #) durante a configuração, portanto, acho que não há restrições. A instalação será executada a partir da conta com privilégios de administrador.
Abaixo está o que eu tentei e qual foi o resultado:
App em C: \ ProgramData \ Microsoft \ Windows \ Menu Iniciar \ Programas \ StartUp
-
"Executar este programa como administrador" não verificado
Admin: Inicia, sem privilégios de administrador
Usuário: Inicia, sem privilégios de administrador
-
"Executar este programa como administrador" verificado para todos os usuários
Admin: não inicia
Usuário: não inicia
Entrada em HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run
-
"Executar este programa como administrador" não verificado
Admin: Inicia, sem privilégios de administrador
Usuário: Inicia, sem privilégios de administrador
-
"Executar este programa como administrador" verificado para todos os usuários
Admin: não inicia
Usuário: não inicia
Agendador de Tarefas, gatilho "Ao fazer logon de qualquer usuário"
-
Nenhuma outra opção
Admin: não inicia
Usuário: não inicia
-
"Executar com privilégios mais altos" marcado
Admin: Inicia, privilégios de administrador
Usuário: não inicia
-
"Executar este programa como administrador" verificado para todos os usuários
Admin: não inicia
Usuário: não inicia
-
"Executar este programa como administrador" verificado para todos os usuários, "Executar com privilégios mais altos" marcado
Admin: Inicia, privilégios de administrador
Usuário: não inicia
Como isso pode ser feito? O Visualizador de Eventos parece não registrar nenhuma informação específica quando o aplicativo não é executado. Deveria estar lá ou esses registros podem ser colocados em outro lugar? Onde então?
Target: Windows 8+, Server 2012 +