¿Hay alguna manera de forzar un programa que normalmente requiere privilegios de administrador (a través de UAC) para ejecutarse sin ellos? (es decir: sin solicitud de UAC y sin acceso a todo el sistema ).
Agregado: sin modificar el ejecutable en sí.
A pesar de la respuesta de James, he encontrado algunas formas en que casi se puede hacer:
- Al modificar el ejecutable, puedo eliminar la
trustInfo
entrada del manifiesto (o el manifiesto por completo, para poder usar uno externo), lo que permite que el programa se inicie sin UAC. Desafortunadamente, esto modifica el ejecutable, por lo que sale poco después debido a una prueba de suma de comprobación interna. - Al usar Process Explorer, puedo iniciarlo como usuario limitado. Sin embargo, esto parece limitarlo significativamente más de lo que me gustaría (se ejecuta como el Modo protegido IE y, por lo tanto, puede acceder significativamente menos de lo que puede hacer mi usuario estándar no elevado).
windows
administrator
uac
Andrew Russell
fuente
fuente
Respuestas:
Guarde este texto
<name_of_file>.reg
y agréguelo al Registro de Windows. (Hacer doble clic en él debería hacer el truco).Luego, haga clic derecho en la aplicación que desea ejecutar sin privilegios administrativos y seleccione "Ejecutar sin elevación de privilegios".
En algunos casos, una pequeña cantidad del 0.1% de los programas puede preguntar dos veces sobre el aviso de UAC.
fuente
"
y luego girar\"
hacia"
)./min
es un error. La solución funciona exactamente igual sin ella. Vom debe haberse mezcladocmd
estart
interruptores. Parece quecmd.exe
no se queja de interruptores incorrectos. Intentacmd /whatever
, por ejemplo.Guardar en
nonadmin.bat
:Ahora puede arrastrar y soltar programas para ejecutarlos sin administrador.
Esto no requiere privilegios de administrador como lo hace el cambio de esa clave de registro. Además, no saturará el menú contextual.
Basado en la respuesta de Vom
Actualización: ahora debería funcionar con programas que también tengan espacios en el nombre.
fuente
Windows cannot find 'C:\Program'. Make sure you typed the name correctly, and then try again
. He probado este comando manualmente varias veces con ligeras variaciones y sin suerte. ¿Algunas ideas?Espero no llegar demasiado tarde a la fiesta, pero estaba buscando una pregunta similar y sin ver una respuesta aquí descubrí que el
RunAs
comando incorporado de Windows , cuando se ejecuta como administrador, puede hacerlo con el/trustlevel
interruptor.Esto funcionó en mi caso. Irónicamente, iniciar un programa explícitamente sin elevación requiere un símbolo del sistema elevado . Imagínate. :) Espero que te ayude.
fuente
Si tiene una aplicación particular que desea ejecutar siempre sin UAC, puede orientarla con el Registro (agregue el texto a un archivo REG e impórtelo en el Registro):
A diferencia de esta respuesta , esta solución no requiere un clic o cambio alternativo para la interacción del usuario.
Microsoft llama a este proceso agregando el
RunAsInvoker
"Calce de compatibilidad" .fuente
Resolví este problema hoy usando el kit de herramientas de personalización de aplicaciones MS.
Seguí las instrucciones en un artículo de tech republic .
Básicamente:
1) obtienes el kit de herramientas de MS aquí .
2) Haga clic en Fix
3) Elija la opción RunAsInvoker
4) Haga clic derecho en la corrección y elija Instalar
fuente
Si es un
exe
archivo de instalación (instalación) que requiere privilegio de administración, hay un truco para ejecutarlo sin acceso elevado:Si el nombre del archivo contiene palabras como
setup
oinstall
windows lo ejecuta con fuerza con acceso elevado, incluso si no necesita acceso elevado:Si el archivo .exe tiene un manifiesto, estas heurísticas para elevación no se aplican.
Esto está documentado en los documentos UAC (Control de cuentas de usuario):
Modo de lectura aquí: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works
fuente
Mientras que en su pregunta, Andrew declaró que lo siguiente no funcionó del todo:
Pude modificar un archivo .manifest externo para el software que estaba usando y cambiar
<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
a
<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />
Resulta que el software que estaba usando realmente no requería derechos de administrador, por lo que pude ejecutarlo en una cuenta de usuario estándar sin UAC o contraseñas de administrador. ¡Gracias!
fuente
ms_asmv2:
también puede omitirse. Además, es posible que cambiar el tamaño del bloque xml incrustado pueda dañar el binario, por lo que "requireAdministrator" debe cambiarse a "asInvoker" acolchado a la misma longitud con espacios antes de uiAccess.Solucioné este problema cambiando los permisos en la carpeta que contenía el programa.
Agregué a cada usuario que ejecutará ese programa y les otorgué privilegios de "control total". Eso solucionó el problema y dejé la opción "Ejecutar como administrador" sin marcar.
No tengo ningún problema de seguridad para los usuarios que ejecutarán el programa.
fuente
No, si un programa requiere UAC, entonces está intentando acceder a algo fuera de su sandbox. El programa no se ejecutará correctamente sin el acceso elevado.
Si solo quiere deshacerse de la notificación, puede deshabilitar UAC.
Deshabilite UAC en Windows Vista: Inicio, escriba "usuario". Haga clic en "Cuentas de usuario". En la ventana emergente, haga clic en "Configuración de control de cuenta de usuario" y luego apague UAC.
Deshabilite UAC en Windows 7: Inicio, escriba "usuario". Haga clic en "Configuración de control de cuenta de usuario". Arrastre la barra de opciones hasta el final para "Nunca notificar".
fuente