Ir ao conteúdo

Posts recomendados

Postado

Tenho um script .bat que faz o acesso a roteadores de clientes. 

 

Quero abrir esse script bat, no meu "windows + r" ou seja, eu copiei ele pro meu System32. 

 

Porém, quero que ao executar esse script, ele crie uma cópia de si mesmo na pasta system32. 

Para a partir da primeira execução, o usuário já poder abrir o script utilizando o a caixa de executar, Windows + R. 

Postado

@ricardo_br

Aparentemente iria funcionar a linha de código, porém, recebo um retorno de "Acesso Negado"

 

Mas se eu consigo copiar e colar "na mão" dando a permissão para copiar e colar na System32, como eu consigo essa permissão com script bat?

Seria possível?

Postado

@ricardo_br

Cara, eu sou muito leigo! kk

Você é um Deus!

 

Deu tudo certo! Obrigado!

@ricardo_br Mais uma dúvida, mas isso seria apenas por capricho

 

Se eu for em propriedades do meu arquivo .bat eu não consigo setar "Abrir Como administrador" para deixar isso sempre ativo. 

Não existe forma de eu contornar isso né?

Mas no mais, muito obrigado mais uma vez. 

Postado

Se você quiser que o batch peça aquela mesagem de elevação se o usuário esquecer de executar como administrador é só incluir essa linha:

 

net session >nul 2>&1 || (powershell start -verb runas '%~0' &exit /b)

 

Ai aparece aquela mensagem de UAC...

DIOGHlC.png

  • Curtir 1
Postado

@ricardo_br Cara, está funcionando tudo perfeito. Acho que a última coisa seria o seguinte, a estruturação do código, de forma que não execute uma linha, caso o arquivo já tenha sido copiado para a system32, ou seja, se JÁ EXISTE, o arquivo no System32, não há mais necessidade de executar como administrador.

Executar como administrador, apenas se o arquivo não existir em System32. 

Então meu script está assim: 

Ps. Desculpe estar sendo chato, esse script eu criei para usar na empresa, para acessar as OLTS e Consequentemente as ONU's e Roteadores do cliente do provedor de onde trabalho, via SSH

 

set tempo=4
set tempoTeofilo=6
set tempoAll=15
cls
net session >nul 2>&1 || (powershell start -verb runas '%~0' &exit /b)
if /i not exist "%windir%\System32\%~nx0" copy "%~dpnx0" "%Windir%\system32\%~nx0"
echo  1 - CIDADE NOBRE --------------- cid  
echo  2 - CARAVELAS ------------------ car  
echo  3 - GOVERNADOR VALADARES ------- gov  
echo  4 - MANHUACU ------------------- man  
echo  5 - SANTANA DO PARAISO --------- san   
echo  0 - ABRIR TODAS OLTS ----------- all  
echo.
set /p olt= INFORME A DE ACORDO COM O MENU [ENTER]:
set /p sn= INFORME O S/N [ENTER]:
set sn2=%sn%
choice /t 1 /c 123456789q /d q >nul
if %olt% EQU 1 goto cid
IF /i "%olt%"=="cid" goto cid
if %olt% EQU 2 goto car
IF /i "%olt%"=="car" goto car
if %olt% EQU 3 goto gov
IF /i "%olt%"=="gov" goto gov
if %olt% EQU 4 goto man
IF /i "%olt%"=="man" goto man
if %olt% EQU 5 goto san
IF /i "%olt%"=="san" goto san
if %olt% EQU 0 goto all
IF /i "%olt%"=="all" goto all
echo Você não inseriu uma opcao valida
pause
Goto :Inicio
:cid

 

Postado

No caso remova a linha 5 e 6 e substitua por essa ai só vai pedir elevação de admin se o arquivo não existir.

If /i not exist "%windir%\system32\%~nx0" net session >nul 2>&1 || (powershell start -verb runas '%~0' &exit /b) & copy "%~dpnx0" "%Windir%\system32\%~nx0"

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!