Tengo un servicio que invoca un archivo por lotes que ejecuta un script de Powershell que llama a SETX para actualizar una variable de entorno. La variable de entorno cambia, pero aparentemente el cambio no se ha introducido en mi servicio. Algún tiempo después, el servicio invoca un proceso que se basa en la actualización de esta variable de entorno. Si obtiene una variable de entorno obsoleta, hace que mi sistema falle. SETX llamado desde un indicador de comandos que se ejecuta en una sesión de usuario empuja las nuevas variables de entorno a mi servicio, por lo que sé que SETX funciona en este caso, pero no cuando se ejecuta desde mi servicio. Cambiar la variable de entorno es fácil. Presionar ese cambio al servicio, eso es difícil aparentemente.
Necesito una forma de obtener nuevas variables de entorno para los procesos iniciados por mi servicio. Presumiblemente, esto implica encontrar una manera de enviar actualizaciones a las variables de entorno desde un servicio.
fuente