Script PowerShell para extraer contactos desde tus mensajes de Outlook e importarlos automáticamente a tu carpeta de Contactos.
Creado por: kombi.cl
- Descripción
- Características
- Requisitos
- Instalación
- 🆕 Inicio Rápido - Auto-configuración
- Guía de Uso Detallada
- Opciones Disponibles
- Preguntas Frecuentes
- Solución de Problemas
- Licencia
Este script automatiza el proceso de extraer contactos desde tus correos electrónicos en Outlook y agregarlos directamente a tu carpeta de Contactos, sin necesidad de archivos CSV intermedios.
El script procesa:
- Bandeja de Entrada: Extrae los remitentes de tus mensajes recibidos
- Elementos Enviados: Extrae los destinatarios de tus mensajes enviados
Todo en un solo proceso automático y eficiente.
✅ 🆕 Escaneo previo inteligente - Muestra cuántos mensajes hay antes de procesar ✅ 🆕 Barra de progreso visual - Indicador de porcentaje en tiempo real con █████ ✅ 🆕 Estimación de tiempo - Calcula aproximadamente cuánto tardará el proceso ✅ 🆕 Auto-diagnóstico y auto-reparación - Detecta y soluciona problemas automáticamente ✅ 🆕 Desbloqueo automático - Maneja archivos bloqueados por Windows ✅ 🆕 Configuración de políticas - Ajusta las políticas de ejecución de PowerShell ✅ Extracción directa - No requiere archivos CSV intermedios ✅ Detección de duplicados - Evita agregar contactos que ya existen ✅ Filtrado inteligente - Omite direcciones Exchange internas inválidas ✅ Categorización automática - Organiza contactos por origen ✅ Múltiples opciones de procesamiento - Desde 10 hasta TODOS los mensajes ✅ Interfaz visual - Progreso en tiempo real con colores ✅ Información contextual - Guarda fecha y asunto del mensaje original ✅ Seguro y reversible - Solo agrega, no modifica ni elimina
- Sistema Operativo: Windows 10/11
- PowerShell: Versión 5.1 o superior
- Microsoft Outlook: Instalado y configurado
- Permisos: Ejecutar PowerShell (no requiere administrador)
-
Descarga el script:
# Opción A: Clonar el repositorio git clone https://github.com/kombicl/Outlook-contacts.git cd Outlook-contacts # Opción B: Descargar solo el archivo Invoke-WebRequest -Uri "https://raw.githubusercontent.com/kombicl/Outlook-contacts/main/Extract_And_Import_Contacts.ps1" -OutFile "Extract_And_Import_Contacts.ps1"
-
Habilitar la ejecución de scripts PowerShell (si es necesario):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
Crea una carpeta para tus scripts (opcional):
New-Item -ItemType Directory -Path "D:\script\ps" -Force
-
Descarga el archivo
Extract_And_Import_Contacts.ps1desde este repositorio -
Colócalo en la carpeta creada o en cualquier ubicación de tu preferencia
El script ahora incluye auto-diagnóstico y auto-reparación para los problemas más comunes:
- Descarga el script (si aún no lo tienes)
- Haz doble clic en
Extract_And_Import_Contacts.ps1o ejecútalo desde PowerShell - Si encuentra problemas (archivo bloqueado, políticas restrictivas), te preguntará:
¿Quieres que lo configure automáticamente? (S/N) - Presiona S y el script se configurará solo
- ¡Listo! Sigue las instrucciones en pantalla
Ya no necesitas configurar nada manualmente - el script lo hace por ti. 🎉
- Presiona
Windows + X - Selecciona Windows PowerShell (no requiere ejecutar como administrador)
cd "D:\script\ps"
# O la ruta donde guardaste el script.\Extract_And_Import_Contacts.ps1El script te guiará a través de:
-
Verificación de Outlook
- Detecta si Outlook está ejecutándose
- Si no está abierto, lo inicia automáticamente
-
Selección de opciones
OPCIONES DE PROCESAMIENTO: 1. Prueba rápida (10 mensajes por carpeta) 2. Normal (50 mensajes por carpeta) 3. Extendida (100 mensajes por carpeta) 4. Completa (500 mensajes por carpeta) 5. TODOS los mensajes (puede tardar varios minutos) 6. Personalizada Selecciona una opción (1-6, Enter para Normal): -
Configuración de duplicados
Omitir contactos duplicados? (S/N, Enter para Sí): -
Proceso automático
- El script extraerá e importará los contactos
- Verás el progreso en tiempo real
- Al finalizar, verás un resumen completo
- Abre Microsoft Outlook
- Ve a la sección Personas o Contactos (icono en la parte inferior)
- Verás todos tus contactos importados organizados por categorías
- Ideal para: Probar el script por primera vez
- Tiempo estimado: 10-30 segundos
- Contactos esperados: 5-15 contactos
- Ideal para: Uso regular
- Tiempo estimado: 30 segundos - 1 minuto
- Contactos esperados: 20-50 contactos
- Ideal para: Construcción inicial de tu lista
- Tiempo estimado: 1-2 minutos
- Contactos esperados: 50-100 contactos
- Ideal para: Recuperación masiva de contactos
- Tiempo estimado: 3-5 minutos
- Contactos esperados: 200-500 contactos
- Ideal para: Extracción completa de toda tu bandeja
- Tiempo estimado: 10-60 minutos (depende de la cantidad)
- Contactos esperados: Variable
⚠️ Advertencia: Puede tardar mucho tiempo si tienes miles de mensajes
- Ideal para: Necesidades específicas
- Tiempo estimado: Variable
- Contactos esperados: Según tu configuración
No. El script solo lee tus mensajes para extraer información de contacto. No modifica, mueve ni elimina ningún mensaje.
Por defecto, el script omite contactos duplicados. Si ejecutas el script varias veces, solo se agregarán contactos nuevos.
Sí. Puedes eliminar los contactos importados filtrando por categoría:
- "Importado desde Bandeja de Entrada"
- "Importado desde Elementos Enviados"
Sí, pero solo importa direcciones de email válidas (formato SMTP). Las direcciones Exchange internas son filtradas automáticamente.
Cada contacto ocupa aproximadamente 1-2 KB. Incluso 1000 contactos ocupan menos de 2 MB.
No, el script funciona completamente offline ya que solo interactúa con tu Outlook local.
El script ahora se auto-diagnostica y se auto-repara! 🎉
Cuando ejecutes el script, automáticamente detectará si:
- El archivo está bloqueado por Windows (descargado de Internet)
- Las políticas de ejecución de PowerShell están restringidas
Y te ofrecerá arreglarlo automáticamente con un simple "S" (Sí).
Opción 1: Desbloquear archivo (si fue descargado de Internet)
Unblock-File .\Extract_And_Import_Contacts.ps1O haz clic derecho en el archivo → Propiedades → marca "Desbloquear" → Aplicar
Opción 2: Cambiar política de ejecución
Para solo esta sesión (recomendado):
Set-ExecutionPolicy Bypass -Scope ProcessPara el usuario actual (permanente):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserWindows bloquea archivos descargados de Internet por seguridad. PowerShell también tiene políticas restrictivas por defecto. El script ahora detecta estos problemas y te ayuda a resolverlos automáticamente.
Soluciones:
- Asegúrate de que Outlook esté instalado
- Abre Outlook manualmente antes de ejecutar el script
- Verifica que tu perfil de Outlook esté configurado
Posibles causas:
- Seleccionaste una opción de pocos mensajes (prueba con opción 3 o 4)
- Tus mensajes tienen direcciones Exchange internas (normales que sean filtradas)
- Los contactos ya existen y los duplicados fueron omitidos
Soluciones:
- Elige una opción con menos mensajes
- Cierra otras aplicaciones para liberar recursos
- Verifica que no tengas muchos complementos en Outlook
========================================
EXTRACTOR E IMPORTADOR DE CONTACTOS
Mensajes -> Contactos
by kombi.cl
========================================
Verificando Outlook...
Outlook detectado (PID: 12345)
OPCIONES DE PROCESAMIENTO:
1. Prueba rápida (10 mensajes por carpeta)
2. Normal (50 mensajes por carpeta)
3. Extendida (100 mensajes por carpeta)
4. Completa (500 mensajes por carpeta)
5. TODOS los mensajes (puede tardar varios minutos)
6. Personalizada
Selecciona una opción (1-6, Enter para Normal): 2
Omitir contactos duplicados? (S/N, Enter para Sí):
Ejecutando procesamiento normal...
Conectando con Outlook...
Conectado a Outlook existente
Acceso a carpetas establecido
Contactos existentes: 125
========================================
Escaneando buzones...
========================================
Bandeja de Entrada: 1,234 mensajes
Elementos Enviados: 892 mensajes
TOTAL: 2,126 mensajes
Mensajes a procesar con la opción seleccionada:
Bandeja de Entrada: 50 de 1,234
Elementos Enviados: 50 de 892
TOTAL A PROCESAR: 100 mensajes
Cobertura: ~4.1% de Bandeja, ~5.6% de Enviados
Estimación de tiempo: 20 segundos
Continuar con el procesamiento? (S/N, Enter para Sí):
Verificando contactos existentes...
Emails únicos existentes: 125
========================================
Procesando Bandeja de Entrada...
========================================
Total a procesar: 50 de 1,234 mensajes
Progreso: [███████████████░░░░░░░░░░░░░░░] 50.0% (25/50) | Agregados: 10
Progreso: [██████████████████████████████] 100.0% (50/50) | Agregados: 18
Bandeja de Entrada completada
Mensajes procesados: 50
Contactos agregados: 18
========================================
Procesando Elementos Enviados...
========================================
Total a procesar: 50 de 892 mensajes
Progreso: [███████████████░░░░░░░░░░░░░░░] 50.0% (25/50) | Agregados: 12
Progreso: [██████████████████████████████] 100.0% (50/50) | Agregados: 25
Elementos Enviados completados
Mensajes procesados: 50
Contactos agregados: 25
========================================
PROCESO COMPLETADO
========================================
RESUMEN GENERAL:
Mensajes procesados: 100
Contactos encontrados: 68
Contactos agregados: 43
Duplicados omitidos: 20
Emails inválidos: 5
Total contactos en Outlook: 168
COMO VER TUS CONTACTOS:
1. Abre Outlook
2. Ve a la sección 'Personas' o 'Contactos' (icono abajo)
3. Verás todos los contactos importados
Quieres abrir los Contactos en Outlook ahora? (S/N):
Las contribuciones son bienvenidas. Si encuentras un bug o tienes una sugerencia:
- Abre un Issue en GitHub
- Haz un Fork del repositorio
- Crea una Pull Request con tus mejoras
Este proyecto está bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
kombi.cl
- GitHub: @kombicl
- Repositorio: Outlook-contacts
Si este script te ha sido útil, considera darle una estrella ⭐ en GitHub.
- 📊 Escaneo previo inteligente
- ✅ Muestra el total de mensajes disponibles antes de procesar
- ✅ Calcula y muestra cuántos mensajes se procesarán según la opción elegida
- ✅ Porcentaje de cobertura de buzones (ej: "~4.1% de Bandeja")
- ✅ Estimación de tiempo de procesamiento (segundos, minutos u horas)
- ✅ Confirmación antes de continuar con opción de cancelar
- 📈 Barra de progreso visual
- ✅ Barra de progreso con bloques █░░░░ en tiempo real
- ✅ Porcentaje exacto de avance (ej: "50.0%")
- ✅ Contador de mensajes procesados (ej: "25/50")
- ✅ Contactos agregados en tiempo real
- ✅ Actualización cada 5% para mejor rendimiento
- 🎨 Mejoras de UX
- ✅ El usuario sabe exactamente cuánto falta
- ✅ Tranquilidad de que el script no se ha "colgado"
- ✅ Información completa antes de iniciar el proceso
- 🎉 Auto-diagnóstico y auto-reparación
- ✅ Detección automática de archivos bloqueados por Windows (Zone.Identifier)
- ✅ Desbloqueo automático con confirmación del usuario
- ✅ Detección de políticas de ejecución restrictivas
- ✅ Configuración automática de políticas (Bypass para sesión actual)
- ✅ Mensajes claros y amigables con instrucciones paso a paso
- ✅ Opción de configuración manual para usuarios avanzados
- 📚 README mejorado
- ✅ Nueva sección "Inicio Rápido" con auto-configuración
- ✅ Sección de troubleshooting actualizada y más clara
- ✅ Explicación de por qué suceden los errores comunes
- ✨ Lanzamiento inicial
- ✅ Extracción automática de contactos
- ✅ Importación directa a Outlook
- ✅ Detección de duplicados
- ✅ Filtrado de emails inválidos
- ✅ Múltiples opciones de procesamiento (1-6)
- ✅ Opción para procesar TODOS los mensajes
- ✅ Categorización automática
- ✅ Interfaz con colores y progreso
- Soporte para carpetas personalizadas
- Exportación a Excel
- Interfaz gráfica (GUI)
- Programación de tareas automáticas
- Sincronización bidireccional
¿Necesitas ayuda? Abre un issue en GitHub o visita kombi.cl