Permitir que determinado aplicativo seja executado como administrador, sem solicitar credenciais ao usuário

6

No meu local de trabalho, as máquinas do Windows 7 estão sendo lançadas e os usuários não recebem privilégios administrativos. Meu departamento cria aplicativos que são executados localmente na máquina do usuário e estão funcionando normalmente (até onde vimos). Uma aplicação, por outro lado, não.

É o aplicativo que atualiza os outros (nosso 'Agente de Atualizações'). Portanto, quando o usuário executa o Agente de Atualização, ele é imediatamente interrompido com um erro, pois esse aplicativo não pôde gravar em C: \ Arquivos de Programas \ nosso aplicativo \

Precisamos de uma maneira dessas máquinas com Windows 7 permitirem que esse aplicativo seja executado como administrador ou com direitos de administrador quando o usuário os executar. Como esses usuários nunca receberão a senha do administrador, 'Executar como administrador' não é uma opção. O usuário precisará clicar no atalho e executar com permissões suficientes para modificar a pasta, gravar no registro, etc.

O que eu espero é algum tipo de GPO ou política ou algo que possa ser configurado no nível de domínio que permita que isso ocorra; ou algo configurado nas máquinas clientes uma vez . Nossas aplicações são .net Framework 1.1 e 2.0, e assinadas com uma chave.

Qualquer ideia seria apreciada.

    
por Brian 16.09.2010 / 19:53

9 respostas

3

Para realizar o que você deseja, a coisa mais fácil que consigo pensar é criar uma tarefa agendada com as credenciais administrativas que serão executadas em um horário ou intervalo definido.

Você pode manipular tarefas agendadas por meio da linha de comando ( schtasks.exe ) ou script de login.

No entanto, tenho que avisá-lo de que sempre que você fizer intencionalmente falhas em sua própria segurança, estará solicitando problemas mais tarde.

Será necessário apenas um espertalhão para encontrar o nome do arquivo .exe, alterá-lo ou colocar o que ele quiser. eles podem copiar cmd.exe para o local e renomear e, de repente, eles têm um prompt de comando com privilégios de administrador! (ok, você pode usar permissões NTFS e outras coisas, eles podem tirar o disco rígido - você pode usar o Bitlocker / criptografia ...) o ponto que eu estou tentando fazer é, é um buraco que você está introduzindo intencionalmente.

Outra solução seria reformular o programa. Gostaria de sugerir como algum tipo de serviço de sistema que faz o trabalho e simplesmente ter um cliente que invoca o serviço como e quando é necessário. Isso deve funcionar bem.

    
por 16.09.2010 / 20:04
2

O que acabamos fazendo foi criar uma conta de domínio que funcionaria como administrador local em cada máquina, que foi enviada por um GPO. Então, podemos iniciar nosso aplicativo de atualização usando essas credenciais.

    
por 17.09.2010 / 20:04
2

Descubra quais configurações de registro e configurações de arquivo que você precisa acessar com procmon, filemon e regmon e use as ferramentas padrão do Windows chamadas cacls e regini para alterá-las para que você tenha acesso adequado.

    
por 16.05.2012 / 13:47
2

Veja em RunAsGui . Ele permite que você armazene as credenciais criptografadas de um administrador para um determinado programa que você deseja permitir que seus usuários usem. É grátis.

    
por 22.06.2012 / 01:42
1

Altere as permissões na pasta que está sendo negada acesso C: \ Arquivos de Programas \ nosso aplicativo \

    
por 16.09.2010 / 23:55
0

Uma possibilidade é criar um script VB criptografado com o Runas comando para shell (comando). Você poderia iniciá-lo para abrir este programa, desde que o usuário não possa mover o arquivo, etc. Você poderia até mesmo criar um atalho, renomeá-lo para o nome do programa e alterar o ícone para torná-lo simples.

    
por 16.09.2010 / 20:05
0

Você pode definir o script para executar o agente de atualização em um script de logon no lado do usuário de um GPO e solicitar que ele verifique se há uma versão do seu aplicativo e se a do servidor é mais recente para executar as instalações. Em seguida, no lado do computador do gpo, execute a diretiva no modo de loopback da diretiva de grupo com mesclagem. Isso executará a atualização como a conta do sistema local.

    
por 22.06.2012 / 02:58
0

Eu sei que esta pergunta é muito antiga, mas a solução a seguir fornece à minha mente os resultados mais desejáveis. Ainda haverá uma "tela preta", mas não solicitará a senha do usuário:

Como faço para elevar facilmente ao executar um arquivo. arquivo jar?

    
por 10.08.2016 / 15:31
0

Para outras pessoas que encontrarem essa postagem, você deseja usar o ACT (Kit de Ferramentas de Compatibilidade de Aplicativos) para modificar as permissões do programa. Os passos são bem diretos.

  1. Instale o programa em perguntas e no pacote ACT apropriado no mesmo computador.
  2. Use o ACT para criar um banco de dados e adicionar quantos "Correções de aplicativos" forem necessários (um por arquivo EXE)
  3. Defina esses arquivos para "runAsInvoker"
  4. Salve o banco de dados como um arquivo SDB e instale-o nos computadores apropriados.

Mais detalhes são descritos aqui: Livre-se dos prompts do UAC com o ACT

    
por 17.11.2017 / 18:31