Como executar um programa como administrador na inicialização do Windows 10? [duplicado]

41

Esta pergunta já tem uma resposta aqui:

Temos um programa com problemas para iniciar no Windows 10. Se o programa NÃO for executado como administrador, ele exibirá a mensagem "Acesso negado" logo antes de iniciar. Se executarmos o programa como administrador, ele não exibirá nenhuma mensagem de erro e será carregado normalmente. No entanto, agora o programa não será executado na inicialização. Portanto, precisamos executar nosso programa como administrador e poder executá-lo automaticamente na inicialização.

Atualização: embora minha pergunta e a pergunta duplicada sejam as mesmas, mas as respostas fornecidas para as duas perguntas não resolveram o meu problema. O Agendador de tarefas inicia apenas meu aplicativo ou programa como um processo em segundo plano. Assim, meu programa não carrega. No entanto, vejo meu processo no gerenciador de tarefas no processo em segundo plano. Isso é tudo.

ThN
fonte
@ Moo: Você pode confirmar que a duplicata se aplica ao Win 10?
fixer1234
@ Ramhound Sim, mas o agendador de tarefas não inicia meu programa normalmente, mas como um processo em segundo plano. Não é isso que estou procurando. Estou esquecendo de algo?
ThN 18/06/2015
@ fixer1234 se você estiver falando especificamente sobre minha pergunta e a pergunta marcada como duplicada, então não. A minha pergunta está relacionada com o Windows 10 eo duplicado está relacionado o Windows 7.
THN
@Ramhound Você está certo, mas uma pergunta é especificamente pedindo 10 solução Windows e o outro é para o Windows 7, apesar de ambas as soluções aplicar o Windows 10.
THN
@ Ramhound Sim, você está certo. Você perguntou como minha pergunta e a pergunta duplicada são diferentes. Eu disse a você que, além das versões do Windows, ambas são iguais. você pode ir em frente e marcar minha pergunta como duplicada, se quiser.
THN

Respostas:

22

Isso é um pouco antigo, mas eu estava tendo os mesmos problemas e nenhuma das opções acima estava funcionando. O que fiz foi criar um VBScript que foi executado na inicialização que abriu o referido programa.

1) Clique com o botão direito do mouse no programa, vá para Propriedades, Compatibilidade e verifique "Run as Administrator"

2) Crie o VBScriptusando um editor de texto (eu uso o Notepad ++)

Roteiro:

  Set WshShell = CreateObject("WScript.Shell" ) 
  WshShell.Run """C:\Program Files (x86)\File\Program.exe""", 0 'Must quote command if it has spaces; must escape quotes
  Set WshShell = Nothing

Nota: esse C:\Program Files (x86)\File\Program.exeé o caminho completo para o programa com extensão. Além disso, salve-o como um arquivo .vbs

3) Agora coloque o VBScript na pasta de inicialização:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Ou, alternativamente, acesse-o com Win+ Rshell:startupEnter

Usei isso em vez de um arquivo em lotes porque não queria que a janela de comando feia aparecesse.

Andrew
fonte
Você pode usar %appdata%em vez de seu personalizado AppData \ Roaming
Ben Philipp
É exatamente isso que acabo fazendo, mas usei o Delphi para escrever um mini programa que chamará meu programa na inicialização. Este mini programa foi executado na inicialização. Esta solução alternativa fez o trabalho.
THN
Descobri que, para invocar um atalho elevado para que ele fosse executado como elevado, tive que deixar o script iniciar o cmd.exe com a opção / c para executar o atalho.
Alf P. Steinbach
Para ficar claro, isso ainda solicita que o usuário diga se deseja executar o programa como administrador, certo? Esse truque de inicialização não contorna isso de alguma forma, certo?
Kyle Delaney
Deve haver uma maneira interna / nativa de fazer isso.
HolyAvengerOne
29

Crie uma tarefa agendada para acionar no logon.

Na caixa de diálogo Criar tarefa , selecione o seguinte:

  1. Geral (guia) - Executar com os privilégios mais altos
  2. Acionadores (guia) - Novo (botão) - Iniciar a tarefa - No logon
Steven
fonte
2
Eu segui sua resposta, mas ele inicia o programa como um processo em segundo plano, não como um aplicativo. Como resultado, nada é carregado na tela e o processo é listado em processo em segundo plano no Gerenciador de tarefas.
THN
O programa precisará ser executado para qualquer usuário que esteja conectado ou apenas para o usuário conectado principalmente?
Steven
2
isso é realmente uma resposta MUITO melhor que a anterior, porque você pode programar um daemon para iniciar quando o computador é iniciado e nenhum usuário estiver conectado, por exemplo, eu preciso começar a ficar sobrecarregado ao iniciar o computador, mesmo eu ou qualquer outro usuário fará logon esse computador (o dilúvio é um cliente de torrent, que no modo não clássico se tornará cliente / servidor, portanto, não preciso que o cliente tenha o servidor em execução), a única outra solução, mas que seja iniciada por outro serviço ( como cron do cygwin) ou para torná-lo um serviço (e para fazer isso manualmente, se os fabricantes de software não projetá-lo como este)
THESorcerer
1
@ThN Você pode tentar adicionar um pequeno atraso, de 10 a 15 segundos, ao gatilho. Isso corrigiu a "execução em segundo plano" para mim. Isso foi para um script AutoHotkey, não sei se isso se aplica ao seu problema.
Anders Jørgensen
2
No começo, ele também não estava funcionando para mim, mas apenas porque havia definido o gatilho para "Na inicialização", o que está errado porque meu programa não é um serviço, é um aplicativo com uma interface de usuário. Em vez disso, tive que definir o gatilho para "No logon" e selecionar MEU usuário do Windows. Funcionou imediatamente depois disso!
Nicolas C.
4

Bem, por que você simplesmente não copia o atalho do programa para a pasta Inicialização e, em suas propriedades, ativa as permissões de administrador na guia Compatibilidade?

Surya Teja Karra
fonte
1
Fizemos isso e meu programa ainda gera Access Deniedmensagem de erro.
THN
você clicou com o botão direito do mouse no atalho na pasta Inicialização e definiu suas permissões corretamente? A opção "Executar como administrador" geralmente está presente na guia Compatibilidade da janela de propriedades
Surya Teja Karra
1
Você está certo. Primeiro, ativamos a Run with highest privilegecaixa de seleção na seção de compatibilidade para o atalho. Em seguida, clique no ícone, ainda aparece a mensagem de erro. Em seguida, movemos o atalho para a pasta de inicialização, ainda gerando a mensagem de erro. Até tentamos o Agendador de tarefas e ainda o mesmo. Eu até tentei o arquivo em lotes no agendador de tarefas, como alguém sugeriu. é o mesmo. A única vez que ele carrega normalmente é quando clicamos com o botão direito do mouse no arquivo executável real do meu programa e clicamos na Run as an Administratoropção no menu pop-up. O único usuário é o administrador em sys
ThN
Sabe, antigamente, o XP tinha o menu de contexto "Executar como" com o qual eu poderia executar um programa como outro usuário, se eu tivesse autorização para fazê-lo. Talvez este programa seu precise da mesma coisa: /
Surya Teja Karra
1
Isso não funciona.
HolyAvengerOne
1

Você pode tentar verificar duas vezes sua guia Segurança nas propriedades do programa / aplicativo e ver se todos os usuários / grupos têm "Controle total". Não tenho certeza se isso vai resolver, mas vale a pena tentar

SillyBillyWTF
fonte
1
Isso não funciona.
HolyAvengerOne