Una cosa es
elevar privilegios, y otra muy distinta es
saltárselos.
Los archivos .manifest son para invocar privilegios de forma silenciosa al ejecutar un ensamblado, pero no para bypassearlos complétamente como haciéndote pasar por Administrador sin serlo, pero si que puedes auto-elevar los privilegios a nivel 'Administrador' sin pedir confirmación, pero si ese usuario no dispone de los permisos de 'Administrador' para la auto-elevación 'silenciosa' entonces no hay nada que hacer ya que
UAC existe para algo y no se puede bypassear complétamente de esa manera, al menos, hasta donde yo sé.
Aquí tienes un ejemplo para un archivo bat ~>
http://everyday-tech.com/bypass-uac-when-installing-bat-files/Añade este Snippet a la cabecera de tu Script para comprobar los permisos actuales, y, en caso de requerir permisos de 'Admin', el script se autoejecutará de forma automática en modo elevado.
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
@echo off
CLS
ECHO.
ECHO =============================
ECHO Running Admin shell
ECHO =============================
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (shift & goto gotPrivileges)
ECHO.
ECHO **************************************
ECHO Invoking UAC for Privilege Escalation
ECHO **************************************
setlocal DisableDelayedExpansion
set "batchPath=%~0"
setlocal EnableDelayedExpansion
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs"
ECHO UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs"
"%temp%\OEgetPrivileges.vbs"
exit /B
:gotPrivileges
::::::::::::::::::::::::::::
:START
::::::::::::::::::::::::::::
setlocal & pushd .
REM Run shell as admin (example) - put here code as you like
cmd /k
Saludos