Questão Execute o arquivo em lote como administrador [duplicado]


Esta questão já tem uma resposta aqui:

Eu criei um arquivo em lotes que interrompe um serviço, interrompe um processo e, em seguida, inicia o serviço que ele parou.

Quando executo o arquivo de lote, ele diz "acesso negado". Não consigo descobrir por que diz que o acesso foi negado porque sou um administrador. Eu procurei em todos os lugares por uma solução para isso sem sorte.

Aqui estão as minhas linhas de comando dentro do arquivo de lote:

net stop uvnc_service
taskkill /f /im winvnc.exe
net start uvnc_service

Nota: Quando clico com o botão direito nele, posso dizer "executar como administrador" que funciona, mas criei uma tarefa no agendador de tarefas que executa o arquivo de lote a cada 5 minutos e não consigo clicar com o botão direito e dizer "executar como administrador" a cada 5 minutos.

Além disso, nas propriedades do arquivo em lote na guia Compatibilidade, "Executar como administrador está em cinza, por isso não consigo verificá-lo.

Como posso executar automaticamente o arquivo de lote como administrador a cada 5 minutos?

Existe talvez uma linha de comando que eu possa inserir no meu arquivo de lote que o executa como administrador todas as vezes?


0


origem


Você precisa elevar o acesso do usuário ao administrador. execute um programa cmd que eleve você e, em seguida, execute o lote. crie um lote de wrapper que execute as duas operações. - ilansch
Por que você inicia e interrompe esse serviço a cada 5 minutos? - and31415
é o serviço do UltraVNC e fica travando depois do tempo, então estou reiniciando a cada 5 minutos para não travar - Stagger
Eu gosto de adicionar isso ao topo dos meus arquivos: if not "%1"=="am_admin" (echo Loading Admin... & echo %cd%>C:\users\Public\CDT.txt & powershell start -verb runas '%0' am_admin & exit /b) Então abaixo disso set /p cdd=<C:\users\Public\CDT.txt  e cd %cdd% . O problema é que os arquivos em lote não são executados como administrador, a menos que você os informe, independentemente do usuário. - Mark Dodsons


Respostas:


Isso pode ajudá-lo? Suponho que você já tenha o arquivo em execução a cada 5 minutos e precise apenas de algum método para adicionar os direitos de administrador corretos.

https://stackoverflow.com/questions/18755553/automatically-running-a-batch-file-as-an-administrator

EDIT: Você também deve ser capaz de definir "executar com privilégios mais altos" no agendador que pode resolvê-lo para você.


1



você assume certo. - Stagger
Eu apenas tentei o que você disse e isso não funciona, aqui está o que diz no CMD depois de eu executá-lo: - Stagger
ai eu não posso nem postar no comentário, vou postar como resposta - Stagger
Isso é adicionar a linha de administração ao arquivo de lote ou definir o privilégio superior em "Geral" no agendador de tarefas? - Matthew Williams
é com a adição da linha de administração ao arquivo de lote. já está configurado para usar os privilégios mais altos no agendador de tarefas. - Stagger


Algumas sugestões:

  1. Você já tentou o Script MakeMeAdmin.cmd por Aaron Margosis? Uma ótima maneira de aprender a reiniciar seu script com privilégios elevados.
  2. E se Solução de Matt encontrado no StackOverflow?

Espero que ajude um pouco ...


1





Aqui está o que diz no CMD depois de executá-lo:

C: \ Usuários \ VANTO.JACQUES \ Documentos> runas / savecred / profile / user: Administrator VN C Restrat.bat USO DE RUNAS:

RUNAS [[/ noprofile | / profile] [/ env] [/ savecred | / netonly]]         / user: program

RUNAS [[/ noprofile | / profile] [/ env] [/ savecred]]         / smartcard [/ user:] programa

RUNAS / trustlevel: programa

/ noprofile especifica que o perfil do usuário não deve ser carregado.                      Isso faz com que o aplicativo seja carregado mais rapidamente, mas                      pode causar o mau funcionamento de alguns aplicativos.    / profile especifica que o perfil do usuário deve ser carregado.                      Este é o padrão.    / env para usar o ambiente atual em vez do usuário.    / netonly use se as credenciais especificadas forem para remoto                      somente acesso.    / savecred para usar as credenciais salvas anteriormente pelo usuário.                      Esta opção não está disponível no Windows 7 Home ou no Windows 7  Edições Iniciais                      e será ignorado.    / smartcard use se as credenciais forem fornecidas por um                      cartão inteligente.    / user deve estar no formato USER @ DOMAIN ou DOMAIN \ USER    / showtrustlevels exibe os níveis de confiança que podem ser usados ​​como argumentos                      para / trustlevel.    / trustlevel deve ser um dos níveis enumerados                      em / showtrustlevels.    linha de comando do programa para EXE. Veja abaixo exemplos

Exemplos:

runas / noprofile / user: mymachine \ administrador cmd   runas / profile / env / usuário: mydomain \ admin "mmc% windir% \ system32 \ dsa.msc"   runas / env / user:user@domain.microsoft.com "notepad \" meu arquivo.txt \ ""

NOTA: Digite a senha do usuário somente quando solicitado. NOTA: / profile não é compatível com / netonly. NOTA: / savecred não é compatível com / smartcard.

C: \ Users \ VANTO.JACQUES \ Documents> pausa Pressione qualquer tecla para continuar . . .


0



Coloque aspas ao redor do nome do arquivo: "VNC Restart.bat" - Kruug