RunWithRestrictedRights.exe es una pequeña utilidad de línea de comandos de Windows que le permite iniciar una aplicación de Windows de forma segura , sin acceso a archivos, impresoras y otros recursos disponibles solo para administradores.
Utilice RunWithRestrictedRights.exe para iniciar una aplicación que no sea de confianza en su escritorio o llámela desde un archivo por lotes para ejecutar una tarea en segundo plano con la protección completa del mecanismo de integridad de Windows .

(Iniciando Notepad.exe con derechos restringidos – haga clic para ampliar)
Interfaz de línea de comandos
RunWithRestrictedRights <a aplicación> [-w] [-l] [-p] [-v]
Dónde:
<application> La ruta completa a la aplicación que se iniciará. Por favor, se
asegúrese de encerrar la ruta entre comillas si contiene al menos
un espacio.
Opciones:
-w En lugar de regresar inmediatamente después de iniciar el
aplicación, espere hasta que finalice la aplicación. Opcional.
-l En lugar de ejecutar la aplicación con integridad media,
Empiece con Integridad baja. Opcional.
-p También quita los derechos otorgados por ser miembro de la
Grupo "Usuarios avanzados". Opcional.
-d <sid> También niega derechos sobre el SID dado.
-v Produce una salida detallada. Opcional.
Una vez finalizado, el código de salida es el nuevo identificador de proceso (PID) si la aplicación se inició correctamente y -1 en caso contrario. Puede acceder a ese código de salida a través de la variable estándar ERRORLEVEL .
¿Por qué ejecutar una aplicación con derechos / permisos restringidos?
Por una razón: seguridad .
Como señala este reciente artículo de Computerworld , un asombroso 94% de las vulnerabilidades de Microsoft se pueden mitigar simplemente desactivando los derechos de administrador al ejecutar aplicaciones.
El artículo dice:
La administración de privilegios y el control de aplicaciones deben ser la piedra angular de su estrategia de seguridad de endpoints, y se deben construir a partir de ahí para crear múltiples capas de defensa cada vez más sólidas. Estas medidas pueden tener un impacto dramático en su capacidad para mitigar los ataques actuales. Los tiempos han cambiado; eliminar los derechos de administrador y controlar las aplicaciones ya no es difícil de lograr.
¿Cómo sé que mi programa se está ejecutando sin derechos administrativos?
Confirmar que su aplicación se está ejecutando sin permisos de administrador puede ser complicado, pero el Explorador de procesos gratuito de Microsoft vendrá al rescate.
Aquí hay una captura de pantalla de Process Explorer interrogando una instancia de Notepad lanzada con derechos restringidos:

Un proceso que se ejecuta con permisos restringidos presenta tres signos reveladores:
- No es miembro del grupo de seguridad BUILTIN \ Administrators ;
- No es miembro de la cuenta BUILTIN \ Local y miembro del grupo de seguridad Administradores (en Windows Server 2012 R2 y posteriores);
- Es miembro de los grupos de seguridad Etiqueta obligatoria \ Etiqueta obligatoria media o Etiqueta obligatoria \ Etiqueta obligatoria baja .
Puede encontrar estas propiedades en Process Explorer haciendo doble clic en su aplicación en la lista y cambiando a la pestaña Seguridad en la ventana que aparece. Aquí vemos el Bloc de notas funcionando de forma segura:

¿Cómo se compara esta utilidad con Runas?
La utilidad Runas de Microsoft también puede iniciar un programa en uno o más niveles de autorización. Especificar el nivel de confianza de «Usuario básico» (0x20000) suele ser suficiente para ejecutarse en un contexto de UAC «no elevado».
Sin embargo, nos encontramos con un par de escenarios en los que Runas no pudo limitar los permisos:
- Cuando UAC está deshabilitado;
- Cuando se ejecuta en el contexto de un servicio de Windows , que siempre está dotado de plenos derechos administrativos;
- Cuando se opera en Windows XP y Windows Server 2003, donde no existe UAC. La opción / trustlevel simplemente no está disponible.
Cómo se compara esta utilidad con PsExec?
PsExec.exe , parte de la versátil suite PsTools de Microsoft , es otra alternativa gratuita. Pero encontramos algunas barreras al usarlo:
- PsExec puede ejecutar una aplicación en Integridad baja pero no ofrece ninguna opción para iniciarla en Integridad media
- El Bloc de notas no se pudo iniciar de forma interactiva en Integridad baja en nuestra máquina con Windows Server 2012:

¿Funciona RunWithRestrictedRights.exe en Windows XP y Windows Server 2003, donde no hay UAC?
Sí, funciona bien en Windows XP y Windows Server 2003. El nivel de integridad de Windows no se puede configurar (esa función solo está disponible en Windows Vista y versiones posteriores) pero la aplicación se ejecuta sin los derechos de administrador como se esperaba.
Sin embargo, una nota: si recibe un error que indica que «el cliente no posee un privilegio requerido», asegúrese de que su cuenta tenga estos dos derechos:
- Ajustar las cuotas de memoria para un proceso
- Reemplazar un token de nivel de proceso

