Ejecutar un proceso de Windows con privilegios más bajos [duplicar]

0

Veo muchos subprocesos aquí sobre cómo se puede programar un software para solicitar privilegios de administrador en Windows, pero en mi caso tengo un instalador de software que se ejecuta con privilegios de administrador y, al final de la instalación, debe ejecutar otro proceso con privilegios limitados (como el usuario registrado). Tanto el instalador como el software instalado fueron creados por mí utilizando Delphi.

Estoy investigando sobre este tema durante todo el día y parece ser una tarea muy difícil de lograr solo por el lenguaje de programación. Mi pregunta es si hay algún comando de Windows que pueda usar para "llamar" al ejecutable con privilegios más bajos o quizás una configuración de manifiesto que pueda incorporar al software instalado para evitar que se ejecute con privilegios de administrador. Bueno, cualquier idea es bienvenida!

¡Gracias!

Guybrush
fuente
Si cree que la pregunta no es pertinente o lo que sea, explíqueme por qué antes de bajar de categoría. ¡Gracias!
Guybrush
Vi esta pregunta antes y probé algunas de las soluciones, sin éxito. Haré nuevas pruebas y te avisaré. ¡Gracias!
Guybrush
Si agota las opciones ofrecidas en la pregunta duplicada propuesta, editar su pregunta para indicar sus esfuerzos y ser específico acerca de por qué no es un duplicado.
Twisty Impersonator
Logré mi objetivo programando una tarea de Windows (administrador de tareas), ejecutándola y eliminándola en la secuencia, usando el comando schtasks . Ninguna de las soluciones señaladas en la pregunta similar funcionó para mí. Por favor, ¿debo editar mi pregunta para incluir mi solución?
Guybrush
1
No, en su lugar, publique su solución como respuesta a su pregunta. Me alegra que hayas encontrado una solución!
Twisty Impersonator

Respuestas:

1

Probé todas las soluciones apuntadas en el pregunta similar , sin éxito. Mi solución fue usar el schtasks comando dentro de un archivo BAT para programar una tarea de Windows, ejecútelo y elimínelo en la secuencia.

Primero creo una tarea manualmente usando el Programador de tareas y la exporté a un archivo XML (haga clic con el botón derecho & gt; Exportar).

enter image description here

Después de crear un archivo BAT para realizar el trabajo en función del archivo XML:

schtasks /create /tn "TempTask" /xml "c:\temp.xml"
schtasks /run /tn "TempTask"
schtasks /delete /f /tn "TempTask"

Espero que ayude a otras personas con el mismo problema! ¡Gracias!

Guybrush
fuente