UAC Aprobación Permanente

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Como puedo hacer que el ejecutable de mi aplicación, solicite una sola vez el acceso como administrador y después cree una regla de aprobación en el Control de Cuentas de Usuario específica para ese ejecutable? sin tener que desactivarlo como en el Panel de Control.

Necesito que mi aplicación corra en silencio, como un servicio, y que tenga permisos de administrador. El programa se ejecuta en el inicio de Windows, y es el único que solicita los permisos, pues hay otras aplicaciones que se ejecutan con dichos permisos sin ser del sistema ni haber solicitado la aprobación.

Hay alguna forma de solicitar aprobación permanente del UAC con PowerShell o CMD? Se necesita una firma digital?
Inicie y escriba Programador de tareas

Crear actividad
En la pestaña General, asigne un nombre a la tarea y seleccione Ejecutar con los privilegios más altos
En la pestaña Acciones, seleccione su ejecutable
En la pestaña Condiciones, deshabilite Iniciar la tarea solo si la computadora está alimentada desde la red eléctrica.
En la pestaña Configuración, asegúrese de que Permitir la ejecución de tareas bajo demanda esté seleccionada
Confirmación

Ahora vaya al Escritorio, haga clic derecho en un lugar vacío, elija Nuevo y Acceso directo
En el tipo de ruta:
schtasks / ejecutar / TN "nombre de la tarea"
Confirma


ahora ejecuta tu aplicación como administrador por primera vez y copia el enlace a
C:\Users\XXXXXXXXX\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

esto fue probado hace algún tiempo en windows 7
Thank you!
Interesante tu tema :pc:
usamakey escribió:
14 Jul 2022 16:56
Gracias por comentar.

Investigando un poco de SCHTASKS (Programador de Tareas) encontré la documentación de Microsoft y les comparto cómo solucione mi problema.

Puede ejecutar "SCHTASKS /Create /?" en CMD para ver la documentación del CLI. Para poder crear una tarea que se ejecute al inicio con los privilegios más altos, use:
SCHTASKS /Create /RU "NT AUTHORITY\SYSTEM" /SC ONSTART /TN "TaskName" /TR "C:\MyApp.exe" /RL HIGHEST
Nota: La tarea se ejecuta por el usuario SYSTEM, y en aplicaciones con interfaz gráfica no se mostrará la ventana.
Para poder corregir esto, elimine el argumento /RU, de tal manera que el comando quede así:
SCHTASKS /Create /SC ONSTART /TN "TaskName" /TR "C:\MyApp.exe" /RL HIGHEST
Con esto, el usuario administrador invoca la ejecución, con privilegios administrativos y muestra la ventana de interfaz.

Una vez creada la tarea, puede llamarla con:
SCHTASKS /Run /TN "TaskName"
El comando puede ejecutarlo en AMS usando os.execute(cmd), CommandLine.Execute(cmd, 0) con el plugin CommandLine o llamando directamente a CMD con File.Run si así lo desea.

Personalice los argumentos /TN (Nombre de la tarea) y /TR (Ruta del ejecutable). Debe contar con permisos de administrador al ejecutar el comando y crear la tarea. Después, la tarea se ejecutará con privilegios sin notificar al usuario en cada reinicio.
usamakey escribió:
14 Jul 2022 16:56
{{This message has been hidden}}
thanks
Probando... Gracias