Você pode passar %username%
como um parâmetro para seu script em lote e usar o parâmetro em seu script em lote em vez de %username%
digamos que o seu script.bat seja assim:
echo %username%
echo my name is %username%
pause
você pode alterá-lo para isso:
set SomeVar=%1
echo %SomeVar%
echo my name is %SomeVar%
pause
isto irá definir a Variável %SomeVar%
com o primeiro argumento ( %1
) que é passado para o seu Script.
Salve o script em algum lugar e crie um atalho para a área de trabalho do usuário que não é do administrador.
Faça o seguinte (veja a tela abaixo, desculpe pelo idioma alemão)
- Abra as propriedades de atalho
- adicione
%username%
ao destino (esse é o argumento%1
) - clique em
advanced
- verifique
run as admin
- clique em
ok
quando você clica duas vezes no atalho agora e o usuário não é um administrador, ele pedirá credenciais e executará o script com seu argumento