Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

Copiar um arquivo sem ter permissão na pasta

4 participantes

Ir para baixo  Mensagem [Página 1 de 1]

niceboy



Bom, é o seguinte, preciso copiar um arquivo para uma pasta dentro dos arquivos de programas, mas as pessoas que vão executar essa bat não possuem acesso de gravação no destino, tem como usar algum comando para executar essa bat como se fosse outro usuário?

wgerade

wgerade

Existe o comando runas que permite executar um determinado aplicativo com um usuário administrador dentro de usuário logado convidado, por exemplo...
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:meu_domínio\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

niceboy



wgerade escreveu:Existe o comando runas que permite executar um determinado aplicativo com um usuário administrador dentro de usuário logado convidado, por exemplo...
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:meu_domínio\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

opa, obrigado pela resposta, mas a questão é que com esse comando, runas, preciso digitar a senha do usuário para completar o comando, estou tentando achar uma alternativa, mas está difícil...

Boss-Head

Boss-Head

Não testei más sei que funciona ,pois já usei algo assim em épocas passada !
Código:
@echo off
echo :-------------------------------------------------------------:
echo :    Checa as permissoes do usuario se administrador        :
echo :-------------------------------------------------------------:
ATTRIB %windir%\system32 -h | FINDSTR /I "negado" >nul
IF NOT ERRORLEVEL 1 GOTO:ADM
GOTO:EXE
:ADM
echo O usuário atual não é administrador
:: Create temp batch.
echo @echo off> %~n0.tmp.bat
echo %~d0>> %~n0.tmp.bat
echo cd "%~p0">> %~n0.tmp.bat
echo call "%~nx0" %1 %2 %3 %4 %5 %6 %7 %8 %9>> %~n0.tmp.bat
echo del %~n0.tmp.bat>> %~n0.tmp.bat
:: Cria arquivo temp.
echo var arg = WScript.Arguments;> %~n0.tmp.js
echo var wsh = WScript.CreateObject("WScript.Shell");>> %~n0.tmp.js
echo var sha = WScript.CreateObject("Shell.Application");>> %~n0.tmp.js
echo sha.ShellExecute(arg(0), "", wsh.CurrentDirectory, "runas", 1);>> %~n0.tmp.js
:: Executa como administrador.
cscript /B /NoLogo "%~n0.tmp.js" "%~dp0%~n0.tmp.bat"
del %~n0.tmp.js
GOTO:EOF
:EXE
echo o usuário atual é administrador
:: coloque aqui seu script.

niceboy



vou testar na segunda, muito obrigado.

sandroroberto09



ele reconhece perfeitamente qdo o user eh admin ou simples e cria uma copia temporaria. Eu codo em delphi e vb mas nao entendo muito qdo vc usa vbs no batch. eu quero liberar c:\pasta\setup.exe e .dll da instalação e para nao ter q ficar clicando no direito para executar como administrador e por senha em mais de 300 micros eu quero fazer essa liberação automticamente. ele cria uma copia do 1.bat chamada 1.tmp.bat com este conteudo que apessar de simples nao entendi o pq.

@echo off
C:
cd "\Documents and Settings\user1\Desktop\"
call "1.bat"
del 1.tmp.bat

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos