¿Cómo extraigo las direcciones de correo electrónico de autocompletar almacenadas en Outlook para uso general?

¿Cómo extraigo las direcciones de correo electrónico de autocompletar almacenadas en Outlook para uso general?

Muchas personas en mi organización no utilizan las funciones de contactos de Outlook, por lo que no tienen ninguna para exportar. En lugar de eso, confían en la lista de autocompletar. Soynopreguntando sobre cómotransferir esta lista tal como está, por ejemplo, al adquirir una nueva estación de trabajo. A veces necesitamos estas listas en formato textual. No hay .nk2archivos porque las cuentas usan IMAP, por lo que Outlook almacena los datos internamente (como se describe en la ayuda vinculada). ¿Existe una manera fácil de obtenerlos?

Respuesta1

No creo que tenga la solución más eficiente, pero funcionó. Tengo una estación de trabajo Linux, así que arranqué el texto, pataleando y gritando, usando herramientas que ya conozco. Es posible que pueda hacer lo mismo con las versiones de Windows y/o el shell BASH que viene conGit para Windows, si no tienes otros programas adecuados para procesar los archivos.

  1. Utilice MFCMAPI en la máquina de origen para extraer el IPM.Configuration.Autocompletearchivo como un archivo TXT. Fuera de alcance, pero puede seguir la primera parte de las instrucciones de transferencia vinculadas en la pregunta.

  2. Abra el archivo en un editor de texto, es XML. Vaya al <property>que contiene PR_ROAMING_BINARYSTREAMy guarde solo la cadena hexadecimal larga ( 0DF0...) en un <Value>archivo de texto plano independiente, por ejemplo automplete-dump-hex.txt. Guárdelo en ASCII/UTF-8, sin marca de orden de bytes.

  3. Convierta este archivo que contiene la secuencia hexadecimal a binario. Usé un comando como este:

    xxd -r -p < automplete-dump-hex.txt > automplete-dump-raw.txt
    
  4. Este texto sin formato contiene partes de texto plano, en UTF-16, little-endian, pero también tiene datos binarios y las cadenas están separadas por bytes nulos. Puedes abrirlo en cualquier editor adecuado y seguir tu propio camino desde aquí. Lo abrí en Vim, forcé la codificación :e ++enc=utf-16le automplete-dump-raw.txty luego lo sobrescribí como UTF-8 ( :set fileencoding=utf-8).

  5. Traté los nulos como separadores de líneas y busqué cualquiera que contuviera un @, luego convertí los nulos en nuevas líneas:

    grep -zF @ automplete-dump-raw.txt | tr '\000' '\n' > automplete-dump-possibles.txt
    
  6. Luego ordené el último archivo de salida en un formato más amigable (TSV):

    1. Ordené y eliminé líneas duplicadas (Vim :sort u);
    2. Líneas eliminadas de datos falsos;
    3. Se utilizó el reemplazo de expresiones regulares para convertir name <email@address>en dos campos separados;
    4. Se eliminaron las comillas simples que rodean algunos nombres; y
    5. Desduplicado nuevamente, prefiriendo líneas con nombre + dirección en lugar de solo dirección.

Esto produjo con éxito listas con cientos de direcciones únicas, lo cual me alegró. Creo que esta descripción de los pasos es más larga que los pasos reales.

información relacionada