Hola, bueno mi pregunta es la siguiente,
¿existe alguna forma de iniciar un archivo bat con permisos de administrador sin que el usuario lo pueda saber?
Hay una forma pero deberías darle los permisos de administrador al archivo/script batch, y después todos los procesos que se vayan iniciando lo harán sin solicitar permisos.
@echo off
REM .bat con permisos de administrador
:-------------------------------------
REM --> Analizando los permisos
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> Si hay error es que no hay permisos de administrador.
if '%errorlevel%' NEQ '0' (
echo Solicitando permisos de administrador... Requesting administrative privileges... Anfordern Administratorrechte ...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
REM
INCLUYEAQUI TU CÓDIGO
EXIT