O único atalho é executado como administrador do UAC e administrador não administrativo do UAC

0

Gostaria de ter uma maneira de iniciar um único arquivo de comando, mas ele é executado com os direitos de administrador completos e com o token não administrador.

Executar como não-administrador - e converter para administrador - ou executá-lo como administrador e iniciar um processo não administrativo seria ótimo

Em particular, preciso executar os comandos

SUBST E: G:\SUBST\E 
NET USE Y: \SVR\PATH 

como administrador e como não administrador

Construído em coisas como VBS, PS seria ok - eu estou usando o Windows 7

Eu tenho o seguinte arquivo em lotes com RUNAS e confusamente não funciona de todo - eu também tentei o runas / user: domínio \ usename / savecred "cmd / c subst" - eu escrevi os arquivos em lote para ver o que estava acontecendo

a1.bat

subst e: C:\Users\username\Documents\subst\e
subst
pause

A.bat

runas /user:domain\usename /savecred "cmd /c C:\Users\username\Documents\subst\E\a1.bat"
  • Se eu executar o A1.bat em um Admin CMD, ENTÃO os outros ambientes CMD de administrador obtêm a unidade
  • se eu executar o A.bat em um CMD de administrador ENTÃO Nenhum CMD de administrador, exceto o runas temporário, recebe o disco - incluindo o original
  • Se eu executar o A1.bat em um cmd não-administrador ENTÃO o outro CMD de administrador obterá a unidade
  • se eu executar o A.bat em um cmd que não seja do administrador ENTÃO nenhum ambiente cmd obterá a unidade - exceto a runa temporária

Eu não tentei com os comandos NET USE

O pano de fundo é que o que eu descobri é que quando eu corro

NET USE Y: \SVR\PATH 

sem os direitos administrativos, não vejo a unidade Y: quando mais tarde executo um comando com os direitos administrativos - no momento tenho apenas dois atalhos na área de trabalho - que eu clico duas vezes - um que solicita admin e um que não faz - eu preciso dar um duplo clique no Admin primeiro como lá em alguns programas que são apenas uma única instância, permanecer residente e precisa ser executado como administrador.

Eu tenho um sistema de menu de atalho de teclado simples que executa vários comandos quando pressiono combinações de teclas - Para tornar este portátil eu uso um comando SUBST para mapear minha unidade E: para um local. Como alguns dos comandos precisam ser executados como Administrador - o sistema de menus precisa do administrador e sem ambientes administrativos para ter os mesmos mapeamentos de unidades

    
por Ross 11.07.2018 / 00:36

1 resposta

1

Como você diz que está bem com as funções Windows , forneci algumas soluções de arquivos em lote abaixo com as operações administrativas e não administrativas que testei com Windows 7 . Como você diz que é solicitado a administrar, essa solução também solicitará a senha da / uma credencial de administrador para executá-la, como se tivesse uma opção para salvar para uso futuro depois de inseri-la apenas na primeira vez.

Arquivo em lote (prompt do administrador)

RUNAS /USER:<administrator> "CMD /C SUBST E: G:\SUBST\E" 
RUNAS /USER:<administrator> "CMD /C NET USE Y: \SVR\PATH" 

Note: When you use this method, you have to type in the password of the administrator account you run the commands as per each time these commands are run. You can use CMD /K here instead if you wish the elevated command prompt to stay up after running the commands.

Pararemovercredenciaissalvas

NacaixadediálogoExecutar(+R)digiterundll32.exekeymgr.dll,KRShowKeyMgrepressioneEnter.QuandoasjanelasNomesdeusuárioesenhasarmazenadossãoabertas,vocêpoderealçarascredenciaisquedesejaexcluir,queestãosalvase,emseguida,pressioneaopçãoRemover.

Arquivoemlote(Admincom/SaveCred)

RUNAS/USER:<administrator>/SAVECRED"CMD /C SUBST E: G:\SUBST\E" 
RUNAS /USER:<administrator> /SAVECRED "CMD /C NET USE Y: \SVR\PATH" 

Note: When you use this method, you have to type in the password of the administrator account the first time you use it only and then on subsequent runs when you specify the /SAVECRED switch you do not need to enter the password any longer. You can use CMD /K here instead if you wish the elevated command prompt to stay up after running the commands.

Arquivoemlote(nãoadministrador)

SUBSTE:G:\SUBST\ENETUSEY:\SVR\PATH

Note:Whenyouusethismethod,youarenotpromptedandbasicallyyourunasthenon-elevateduseryouaresignedontothemachineassecuritycontextwise.

Maisrecursos

por 11.07.2018 / 04:12