Al trabajar con InterSystems Interoperability (IRIS / Health Connect / Ensemble), los datos de configuración a menudo están distribuidos en muchos elementos de producción: servicios, procesos, operaciones, adaptadores y sus configuraciones.
Una necesidad operativa o de seguridad común es responder preguntas como:
- ¿Qué interfaces hacen referencia a rutas del sistema de archivos?
- ¿Dónde están configurados directorios, recursos de red o rutas absolutas?
- ¿Puedo auditar o documentar rápidamente esta información en todas mis producciones?
La utilidad en ObjectScript que se muestra a continuación resuelve exactamente este problema exportando configuraciones seleccionadas a un archivo CSV.
Este script:
- Recorre todos los namespaces existentes
- Consulta todos los elementos de configuración de Interoperabilidad (
Ens_Config.Item)en todos los namespaces - Itera sobre la configuración de cada elemento
- Extrae rutas del sistema de archivos/URLs (valores que contienen
:,/, o\) - Escribe los resultados en un archivo CSV, agrupados por Categoría
- Genera un resultado fácil de auditar que se puede abrir en Excel o compartir con los equipos de operaciones/seguridad
Casos de uso típicos
Debéis usar esta utilidad cuando necesitéis:
- 🔍 Auditar el uso del sistema de archivos en todas las producciones
- 🛡 Revisar posibles exposiciones de seguridad (rutas locales, recursos de red, conexiones a bases de datos)
- 📄 Documentar la configuración para migraciones, actualizaciones o planificación de recuperación ante desastres
- 🔄 Comparar entornos (DEV vs TEST vs PROD)
- 🧹 Limpiar rutas heredadas o no usadas
Esto es especialmente útil en instancias grandes con varias producciones que utilizan muchas interfaces y adaptadores.
Formato de salida
El CSV generado contiene las siguientes columnas:
Namespace, Categoría, Nombre del elemento, Nombre de la clase, Nombre de la propiedad, Valor
Además:
- Los elementos de configuración se agrupan por categoría.
- Solo se exportan las rutas de configuración relevantes; podéis modificar fácilmente la lógica para exportar usando el nombre de la configuración (por ejemplo, "DSN" para conexiones SQL) o cualquier otro valor de configuración.
- Es fácil de filtrar y analizar en Excel.
- Ejecutad la utilidad desde el terminal proporcionando el parámetro con la ruta completa y el nombre del CSV.
Por ejemplo:
> do ##class(Test.Properties).GetData("c:\temp\loop.csv")
.png)
Ejemplo del CSV abierto en Excel:
.png)
Notas y consejos
- 🧪 Probad primero en entornos que no sean PROD si no estáis seguros de los permisos.
- 📂 Aseguraos de que el directorio de destino exista y sea escribible por IRIS/Health Connect.
- 🔎 Podéis ampliar fácilmente la lógica para:
- Exportar propiedades adicionales
- Filtrar por categoría o clase
- Enmascarar valores sensibles (contraseñas)
- Cambiar la lógica para datos relevantes
Si lo ampliáis o mejoráis, no dudéis en compartir vuestras mejoras con la comunidad.
