Powershell Llamando a .NET Assembly que usa App.config

Tengo un script de Powershell que está cargando un ensamblado .NET (.EXE en mi caso) y llamando a un método público que usa app.config para extraer una cadena de conexión cifrada.

La secuencia de comandos copia dinámicamente el exe.config del ensamblado en la carpeta Powershell ($ pshome) como powershell.exe.config y puede ejecutarse desde mi cuadro de desarrollo muy bien. El problema es que no se ejecuta desde una instalación estándar de Windows Server 2003.

Verifiqué que exe.config se está copiando correctamente en el directorio powershell. Ejecuté SysInternals Process Explorer y verifiqué que el proceso estaba accediendo a los archivos de configuración (no se encontraron mensajes de archivo no encontrado). De manera remota, depuré la instancia de powershell.exe y puedo ver que el ensamblaje se está cargando bien pero no puedo acceder a los valores de ConfigurationManager.AppSettings (devuelve nulo).

Me he quedado sin ideas. He leído que puedo usar un dominio de aplicación separado, pero no veo ejemplos de cómo hacerlo con Powershell.

Mi código hace algo en el sentido de:

$absolute_path = "c:\foo.exe"
$config_path = $absolute_path + ".config"
copy "$config_path" "$pshome\powershell.exe.config" -Force
[Reflection.Assembly]::LoadFrom($absolute_path)
$foo = new-object MyFooAssembly.FooClass
$foo.DoSomething()  

En Vista, el código funciona, en Windows Server 2003 el código no funciona.

Respuestas a la pregunta(4)

Su respuesta a la pregunta