PST-MergeKit: Herramientas de Consolidación de Outlook 📧
Este repositorio contiene un conjunto de scripts en PowerShell diseñados para automatizar la gestión masiva de archivos .pst de Outlook. Su objetivo principal es permitir la unificación de múltiples archivos de archivo (PSTs dispersos) en una única estructura de carpetas centralizada, eliminando duplicados en el proceso.
📂 Contenido del Kit
1. ConectarTodo.ps1 (El Importador)
Este es el script principal. Realiza las siguientes tareas de forma automática:
- Escaneo: Busca recursivamente todos los archivos
.pst en una carpeta raíz definida.
- Conexión: "Monta" (abre) temporalmente cada archivo PST en tu perfil de Outlook actual.
- Unificación: Crea una carpeta maestra (ej:
CORREOS_UNIFICADOS) en tu cuenta principal.
- Deduplicación Inteligente: Copia los correos de los PSTs a la carpeta maestra, pero solo si no existen ya.
- Criterio de duplicado: Se basa en una firma única compuesta por
Asunto + Fecha de Envío + Remitente.
- Reporte: Muestra en tiempo real cuántos correos únicos se han copiado y cuántos duplicados se han ignorado.
2. Desconectar.ps1 (El Limpiador)
Una vez finalizada la importación, Outlook mantiene los archivos PST abiertos y bloqueados. Este script:
- Identifica qué archivos PST montados pertenecen a la ruta de trabajo.
- Cierra (desconecta) de forma segura cada archivo
.pst de la sesión de Outlook.
- Libera los archivos para que puedan ser movidos o archivados nuevamente.
🚀 Instrucciones de Uso
Prerrequisitos
- Windows 10/11.
- Microsoft Outlook instalado (Versión Desktop/Classic). Outlook debe estar abierto para que los scripts funcionen.
- Los scripts deben ejecutarse con un usuario que tenga permisos sobre las carpetas de archivos.
Paso 1: Configuración
Abre ambos scripts con un editor de texto (como Notepad o VS Code) y ajusta las variables iniciales:
En ConectarTodo.ps1:
$RutaRaiz = "C:\Ruta\Donde\Estan\Tus\PSTs"
$NombreCarpetaDestino = "CARPETA_MAESTRA_FINAL"
En Desconectar.ps1:
$RutaRaiz = "C:\Ruta\Donde\Estan\Tus\PSTs" # Debe coincidir con la anterior
Paso 2: Ejecución (Flujo de Trabajo)
-
Abre Outlook.
-
Ejecuta primero el script de importación:
.\ConectarTodo.ps1
Espera a que termine el proceso. Si tienes muchos gigabytes de correos, esto puede tomar tiempo.
-
Una vez finalizado, ejecuta el script de limpieza para quitar los PSTs de tu vista de Outlook:
.\Desconectar.ps1
⚠️ Notas Importantes
- Deduplicación: El script ignora correos si tienen exactamente el mismo asunto, remitente y segundo exacto de envío. Esto es muy efectivo para evitar tener el mismo correo tres veces porque estaba en tres backups distintos.
- Seguridad: Estos scripts manipulan datos reales. Se recomienda hacer una copia de seguridad de los archivos PST originales antes de procesarlos, aunque el script solo realiza operaciones de "Lectura" y "Copia" (no borra nada de los PSTs origen).
- Rendimiento: El uso de objetos COM de Outlook es seguro pero no instantáneo. Para volúmenes muy grandes de datos (>50GB), se recomienda ejecutarlo por lotes.
📝 Licencia
Este proyecto es de código abierto. Úsalo bajo tu propia responsabilidad.