Tengo un script de MSBuild. Es necesario ejecutar en modo administrativo para completar la construcción. Tengo un par de utilidades de línea de comandos que se requieren para ejecutarse en modo usuario (es decir, no administradores) que debo incluir como parte del script. Estos se activan simplemente al pasar el comando y los parámetros. El único problema es que no puedo hacer que se ejecuten en modo no administrativo. ¿Hay alguna forma desde dentro de un símbolo del sistema que se haya ejecutado con privilegios administrativos para llamar a un comando y ejecutarse en el contexto del usuario regular?
No estoy seguro si los detalles específicos de mi problema son relevantes o si mi resumen anterior es suficiente, pero a continuación se muestra el problema específico que estoy tratando de resolver:
Las aplicaciones particulares que estoy intentando ejecutar como parte de la secuencia de comandos msbuild que requieren permisos elevados son instaladores de sitios web y puntos finales en IIS para nombrar solo unos pocos ... hay muchos.
Hay una aplicación en particular que no logro ejecutar bajo permisos elevados, es una secuencia de comandos que me dice si se está ejecutando una VirtualBox Virtual Machine específica. Estamos usando Vagrant para crear un script de la instalación de la máquina virtual, tengo un script por lotes que usa el estado de Vagrant para saber si la máquina se está ejecutando, pero si ejecuto esto en modo elevado, Vagrant borks. Supongo que podría solucionar esto consultando directamente a VirtualBox, pero tampoco sé si eso funcionará con permisos elevados. El script Vagrant funciona bien si lo ejecuto en una consola no elevada.
El resultado de todo esto debe ejecutarse en aproximadamente 150 máquinas de desarrolladores sin ninguna intervención ... por lo que no es una opción volver a configurar las máquinas para que no usen UAC o tener que ingresar las contraseñas de los usuarios para ejecutarlas como usuarios diferentes.