Ir ao conteúdo
  • Cadastre-se

Verificar Acesso Administrativo em Batch


Posts recomendados

Olá a todos,

infelizmente estou com um probleminha aqui...

Estou fazendo um programa em batch, e o mesmo nescessita ser executado como administrador. Caso não seja, ele deverá informar o usuário para abrir o mesmo com as devidas propriedades...

Até aí eu consegui:

obs: Caso ele for executado como administrador, %local2% será C:\Windows\system32

set "local2=%cd%"
set "local=%~dp0"
cd /d "%local%"
set "local=%cd%"

echo "%local%"
echo "%local2%"
echo.

if "%local%" equ "%local2%" echo normal
if not "%local%" equ "%local2%" echo admin
pause
exit

Porém, dessa forma, toda vez que ele for aberto, ele pedirá acesso de novo...

Solucionando o problema, encontrei um programa chamado UAC bypass. Ele cria uma tarefa agendada, assim, só há a nescessidade de executar um programa uma única vez como admin.

 

Para criar a tarefa com ele:

if "%local%" equ "%local2%" uacpass.exe  -ts -syes -ot "%local%\arquivobatch.bat"

Para abrir como admin depois de ter criado a tarefa:

C:\Windows\system32\schtasks.exe /run /tn "UAC pass\arquivobatch"

Mas agora, não consigo fazer como o programa saiba se foi executado como admin ou não. Já tentei usar errorlevel, mas sempre fica em 5. Pensei em usar alguma linha de código para verificar a existencia da tarefa criada pelo UAC bypass, mas não sei como fazer isso.

Alguma solução?

 

Grato

Matheus

uacpass.zip

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!