Executar comando não elevado de um prompt elevado?

4

É possível executar um comando sem privilégios elevados do arquivo em lote que foi executado com privilégios elevados?

    
por laggingreflex 24.02.2015 / 19:33

2 respostas

3

Isso parece funcionar.

runas /trustlevel:0x20000 <program>

(o privilégio de elevação pode ser testado em um arquivo de lote assim )

Eu recebi a dica de runas /? onde diz

/showtrustlevels  displays the trust levels that can be used as arguments 
                   to /trustlevel.
/trustlevel       <Level> should be one of levels enumerated 
                   in /showtrustlevels.

runas /showtrustlevels de saídas

The following trust levels are available on your system:
0x20000 (Basic User)

Eu não tenho um entendimento mais profundo, mas parece que faz o trabalho.

Welp, acontece que isso está causando problemas, pelo menos para mim.
Meu objetivo envolveu o lançamento do Chrome, mas todas as páginas falharam e não foram carregadas.
Outro problema é que não consigo arrastar e soltar itens de e para aplicativos lançados dessa maneira e da maneira normal.

O Agendador de Tarefas é outro caminho. Não causa problemas acima mencionados. Embora você tenha que criar tarefas específicas com antecedência.

    
por 24.02.2015 / 19:47
1

Eu encontrei duas maneiras de fazer isso:

Primeiro requer o programa RunFromProcess.exe da Nirsoft. Assumindo que o processo explorer.exe não esteja sendo executado, isso funcionará:

runfromprocess explorer.exe cmd.exe /k pushd %temp%

ou

runfromprocess explorer.exe "C:\full path\to\bat\file.bat

A melhor maneira de fazer isso é usar o programa DeElevate.exe do Stardock:

DeElevate.exe "C:\full path\to\bat\file.bat" ["parameters"]

ou

DeElevate.exe  "C:\full path\to\program.exe" ["parameters"]

por exemplo, isso funcionará:

DeElevate.exe cmd.exe "/k pushd %temp%"

Você pode encontrar o programa DeElevate.exe como parte do aplicativo Groupy:

link

após instalá-lo (de preferência em um sandbox ou em um máquina virtual ) você só precisará dos arquivos DeElevate64.exe, DeElevator64.dll do diretório" C: \ Arquivos de Programas (x86) \ Stardock \ Groupy \ "se o seu sistema tiver 64 bits ou os arquivos DeElevate.exe, DeElevator.dll de "C: \ Arquivos de Programas \ Stardock \ Groupy \" se o seu sistema tiver 32 bits.

    
por 28.06.2018 / 23:31