Vamos a configurar usando el registro de Windows, abrimos Regedit y vamos a la siguiente ruta
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Para que windows siempre pida la contraseña de administrador al ejecutar algo con privilegios elevados , tenemos que cambiar el valor de ConsentimientoPromptBehaviorAdmin, normalmente está en 5, debemos ponerle 1.
No es necesario reiniciar el equipo, los cambios tienen efecto inmediato.
ConsentimientoPromptBehaviorAdmin
Esta clave define el comportamiento del Control de cuentas de usuario para
los administradores del sistema. El valor predeterminado se establece en
solicitud, pero no requiere que se ingresen credenciales. Aquí están todos
los valores posibles:
- 0: Permite a los administradores realizar operaciones que requieren elevación sin consentimiento (es decir, solicitudes) o credenciales (es decir, autenticación).
- 1: Requiere que el administrador ingrese el nombre de usuario y la contraseña cuando las operaciones requieren privilegios elevados en un escritorio seguro.
- 2: Muestra el aviso de UAC que debe permitirse o denegarse en un escritorio seguro. No se requiere autenticación.
- 3: Solicitudes de credenciales.
- 4: Solicita el consentimiento al mostrar el aviso de UAC.
- 5: Valor predeterminado, solicita el consentimiento para los binarios que no son de Windows (No solicita contraseña)
ConsentimientoPromptBehaviorUser
- 0: Denegará automáticamente cualquier operación que requiera privilegios elevados si la ejecutan usuarios estándar.
- 1: Mostrará un mensaje para ingresar el nombre de usuario y la contraseña de un administrador para ejecutar la operación con privilegios elevados en el escritorio seguro.
- 3: Solicita credenciales en un escritorio seguro.
Hay claves adicionales disponibles, aquí hay una descripción general rápida de ellas:
- EnableInstallerDetection se establece en 1 en todas las versiones de Windows, excepto Enterprise, donde se establece en 0. Determina si las instalaciones de aplicaciones solicitan elevación (0 deshabilitado, 1 habilitado).
- PromptOnSecureDesktop determina si las indicaciones de UAC se muestran en un escritorio seguro (1, predeterminado) o no (0). Esto elimina el indicador de pantalla completa cuando está deshabilitado.
- FilterAdministratorToken está deshabilitado de forma predeterminada (0), pero se puede establecer en (1), lo que requeriría que el usuario apruebe las operaciones que requieren elevaciones de privilegios.
- EnableUIADesktopToggle está deshabilitado por defecto (0). Determina si las aplicaciones UIAccess pueden solicitar la elevación sin el escritorio seguro. Las aplicaciones de UIAccess están firmadas digitalmente y solo se ejecutan desde rutas protegidas (archivos de programa, archivos de programa (x86) y system32). Establecerlo en (1) lo habilita.
- EnableSecureUIAPaths está habilitado de forma predeterminada (1). Si está deshabilitado (0), permitirá la ejecución de aplicaciones UIAccess desde ubicaciones no seguras.
- ValidateAdminCodeSignatures está deshabilitado de forma predeterminada (0). Cuando está habilitado (1), aplica la validación de la ruta de certificación PKI para los archivos ejecutables antes de que se les permita ejecutarse.
- EnableLUA habilitado por defecto (1). Si está deshabilitado (0), se deshabilitará el modo de aprobación del administrador y todas las configuraciones de políticas de UAC relacionadas.
- EnableVirtualization habilitado (1) de forma predeterminada que redirige los errores de escritura de la aplicación en tiempo de ejecución a ubicaciones de usuario definidas. Las aplicaciones que escriben datos en ubicaciones protegidas fallarán si están deshabilitadas (0.