sync: auto-sync from HOWARD-HOME at 2026-06-01 22:49:04
Author: Howard Enos Machine: HOWARD-HOME Timestamp: 2026-06-01 22:49:04
This commit is contained in:
@@ -12,7 +12,7 @@ backlinks:
|
||||
|
||||
# AT Trebesch
|
||||
|
||||
Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. Onboarded into GuruRMM 2026-06-01. Primary active work: PST contact consolidation (Syncro #31953).
|
||||
Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. Onboarded into GuruRMM 2026-06-01. Primary active work: PST contact consolidation (Syncro #31953) — final CSV delivered and imported; pending source-PST unmount to clear address-book aggregation duplicates.
|
||||
|
||||
---
|
||||
|
||||
@@ -24,7 +24,7 @@ Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. On
|
||||
- **Key contact:** treb737@earthlink.net | 520-529-4999
|
||||
- **Address:** 7280 N. Cathedral Rock, Tucson AZ
|
||||
- **Syncro customer ID:** `238740`
|
||||
- **Open tickets:** #31953 (address book / contact recovery), #32160 (assess for threats)
|
||||
- **Open tickets:** #31953 (address book / contact recovery — import done, PST unmount pending), #32160 (assess for threats)
|
||||
|
||||
---
|
||||
|
||||
@@ -81,6 +81,11 @@ Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. On
|
||||
- **Heavy PST duplication.** 24 PST files total but only 16 are unique (byte-identical copies across Desktop\Outlook\backup\ and D:\E\). Deduplicate by name+size before mounting to avoid redundant AddStore work.
|
||||
- **Large unmounted PSTs take ~9s per AddStore** (Outlook reads only the store index). Two 48 GB Outlook2.pst files each took ~9s and turned out to contain real address books (793 and 725 contacts). Do not skip large archives without probing — they may hold contact data.
|
||||
- **Run COM scripts in `user_session` context.** Outlook COM requires the Owner session; SYSTEM context fails. GuruRMM command context must be `user_session` for treb-extract.ps1.
|
||||
- **Outlook CSV import: write NO BOM.** Outlook's CSV importer auto-maps by field name; a UTF-8 BOM corrupts the first column header and causes Outlook to silently skip that field (emails and phones come in blank). Always write CSV files with UTF-8 encoding and no BOM for Outlook import.
|
||||
- **Outlook CSV import: use the exact official 92-column template.** Use Outlook's "Sample CSV file for importing contacts.csv" headers verbatim. Non-template or reordered headers cause Outlook to silently drop those fields.
|
||||
- **Outlook CSV import: leave Birthday/Anniversary blank.** Invalid dates (e.g., 0/0/00 from contacts with no date set) are rejected on import. Leave date fields empty rather than passing a zero date.
|
||||
- **Outlook import ADDS to a folder — never replaces.** Importing into a folder that already contains contacts produces duplicates. Always empty the target Contacts folder (via COM or manually) before importing a fresh file.
|
||||
- **Mounted source PSTs aggregate in the Outlook address book.** The Outlook address book displays contacts from ALL mounted PST stores plus Suggested Contacts, so leftover source PSTs appear as duplicates even when the target Contacts folder is clean. After a contact-import migration, unmount all source PSTs and clear Suggested Contacts to eliminate the aggregation effect.
|
||||
|
||||
---
|
||||
|
||||
@@ -88,7 +93,7 @@ Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. On
|
||||
|
||||
| Ticket | Summary | Status |
|
||||
|---|---|---|
|
||||
| #31953 | Address book / contact recovery — consolidate 24 PSTs into one Outlook-importable CSV | Delivery pending (CSV on Howard-Home; needs transfer to DESKTOP-QNP3ON5 for import) |
|
||||
| #31953 | Address book / contact recovery — 666-contact CSV imported into Outlook; PENDING: unmount 4 source PSTs + clear Suggested Contacts | In progress — final step pending |
|
||||
| #32160 | Assess for threats — pairs with /rmm diagnose once agent reporting confirmed | Open |
|
||||
|
||||
### PST Contact Recovery (Syncro #31953)
|
||||
@@ -96,23 +101,23 @@ Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. On
|
||||
**Goal:** Extract all address-book contacts from the client's 24 PSTs and consolidate into one Outlook-importable CSV.
|
||||
|
||||
**Pipeline:**
|
||||
1. `treb-extract.ps1` — Phase 1: Outlook COM in `user_session`; mounts each unique PST via AddStore, reads real address-book folders (excludes Suggested Contacts / Recipient Cache), captures raw JSON per PST. MaxMB cap skips large unmounted stores (mounted stores always read); $MaxMB=0 overrides.
|
||||
2. `treb-merge.ps1` — Phase 2: runs as SYSTEM; union-find identity model (EmailsOf + BestName functions; dedup signals: real email, clean First+Last, FullName/FileAs/Subject, email-derived name); reconstructs real emails from all four email fields + email-split-across-name-fields; keys on real-email-or-name, never on junk Email1Address.
|
||||
3. `treb-enhance.ps1` — Phase 3: non-destructive; parses phones, street addresses (high-confidence pattern), and emails from Notes into structured Outlook columns; Notes left verbatim.
|
||||
1. `treb-extract.ps1` — Phase 1: Outlook COM in `user_session`; mounts each unique PST via AddStore, reads real address-book folders (excludes Suggested Contacts / Recipient Cache), captures raw JSON per PST with FullName/FileAs/Subject fields. MaxMB cap skips large unmounted stores (mounted stores always read); $MaxMB=0 overrides.
|
||||
2. `treb-merge.ps1` — Phase 2: runs as SYSTEM; unified identity model (EmailsOf + BestName functions; union-find dedup over email, clean First+Last, FullName/FileAs/Subject, email-derived name, raw mangled name signals); reconstructs real emails from all four email fields + email-split-across-name-fields; keys on real-email-or-name, never on junk Email1Address.
|
||||
3. `treb-enhance.ps1` — Phase 3: non-destructive; parses phones, street addresses (high-confidence "street, City, ST ZIP" pattern), and emails from Notes into structured Outlook columns; Notes left verbatim.
|
||||
4. `treb-fixaddr.ps1` — Phase 4: street-line cleaning (drops stray leading numbers and embedded newlines); 4 targeted address corrections from Notes.
|
||||
5. `treb-template.ps1` — Phase 5: rebuilds into Outlook's exact 92-column template, UTF-8 no BOM, blank invalid dates.
|
||||
|
||||
**Final result:** 6,118 raw records → 674 unique contacts. 633 with email (all valid, 0 junk), 206 with phone, 67 with address, 272 notes preserved. 532 first+last, 71 first-only, 71 email-only (legitimately nameless in source — mostly role/business addresses). 16 unique PSTs scanned; 8 contact-bearing stores.
|
||||
**Final deliverable:** `C:\claudetools\.claude\tmp\treb-data\Contacts-outlook.csv` (Howard-Home) = `C:\Users\Owner\Desktop\default.csv` (DESKTOP-QNP3ON5). 666 contacts, 92-col Outlook template, UTF-8 no BOM, 622 emails (all valid), 200 phones, 65 clean addresses, 267 notes, 0 duplicate emails, 0 duplicate names. Import confirmed: Contacts folder emptied (929 -> 0), re-imported clean (664 contacts now in default Contacts folder).
|
||||
|
||||
**Deliverable:** `C:\claudetools\.claude\tmp\treb-data\AT-Trebesch-Contacts-FINAL-20260601-210118.csv` (local, Howard-Home). 674 rows, 48 Outlook-native columns + 3 audit cols (Source PSTs / Source folders / Copies merged — ignored by Outlook on import).
|
||||
**Scripts:** `.claude/tmp/treb-extract.ps1`, `treb-merge.ps1`, `treb-enhance.ps1`, `treb-fixaddr.ps1`, `treb-template.ps1`, `treb-dedup.ps1`, plus local path-swapped copies (`treb-merge-local.ps1`, `treb-enhance-local.ps1`) for Howard-Home iteration.
|
||||
|
||||
**Scripts:** `.claude/tmp/treb-extract.ps1`, `treb-merge.ps1`, `treb-enhance.ps1`, `treb-merge-local.ps1`, `treb-enhance-local.ps1` (local path-swapped copies for Howard-Home iteration)
|
||||
**Data (local):** `C:\claudetools\.claude\tmp\treb-data\` — 15 per-PST JSON files + pipeline CSVs (Contacts-clean.csv, Contacts-final.csv, Contacts-outlook.csv). Source ZIP on Owner box: `C:\Users\Owner\Desktop\Contacts\treb-contacts-data.zip`.
|
||||
|
||||
**Data (local):** `C:\claudetools\.claude\tmp\treb-data\` — 15 per-PST JSON files + FINAL CSV. Source ZIP on owner box: `C:\Users\Owner\Desktop\Contacts\treb-contacts-data.zip`.
|
||||
|
||||
**Pending delivery steps:**
|
||||
- Transfer final CSV from Howard-Home to DESKTOP-QNP3ON5 (RMM push or manual copy)
|
||||
- Import into Outlook and verify with client
|
||||
- Log time + resolution note on Syncro #31953
|
||||
- Optional: name-cleanup pass for handle-style names; clean up intermediate CSVs from Desktop\Contacts
|
||||
**Pending steps:**
|
||||
- AWAITING Howard go: unmount 4 leftover source PSTs (Outlook1.pst, Outlook.pst, archive1.pst, backup.pst) from Outlook profile + clear Suggested Contacts (639) via RMM — these are causing the address book to show aggregate duplicates from the source stores despite the clean Contacts folder.
|
||||
- Log time + resolution note on Syncro #31953.
|
||||
- Optional: a few genuine cross-email same-person pairs remain unmerged (Ron Snyder, Judy Stout/U OF A JUDY, Irene/Reenie Keating, Philomina Bime) — ambiguous, acceptable residual.
|
||||
- Optional: clean up intermediate CSVs from Desktop\Contacts and _work JSONs.
|
||||
|
||||
---
|
||||
|
||||
@@ -122,8 +127,9 @@ Residential client in Tucson, AZ. Single workstation. Syncro customer 238740. On
|
||||
|---|---|
|
||||
| 2026-06-01 | Howard: GuruRMM onboarding — client + Main site created, SWIFT-LION-2892 enrollment key vaulted. DESKTOP-QNP3ON5 confirmed enrolled and checking in. |
|
||||
| 2026-06-01 | PST inventory scan: 24 files, ~155 GB. COM probe confirmed Outlook COM works in Owner session; 794/374/366 contacts in three live stores; archive1.pst contact-empty. |
|
||||
| 2026-06-01 ~20:16 MST | Extraction executed (Owner session via RMM): safe set first (771 unique), then all-PSTs (826 unique — giants held real address books). |
|
||||
| 2026-06-01 ~21:08 MST | Multi-pass data cleaning: email field corruption found and fixed, union-find dedup rewrite, enrichment pass (Notes → structured fields), data moved to Howard-Home for local iteration. Final: 6118 raw → 674 unique contacts, 0 invalid emails, 0 duplicate groups. CSV verified import-ready. |
|
||||
| 2026-06-01 ~20:16 MST | Extraction executed (Owner session via RMM): safe set first (771 unique), then all-PSTs (826 unique — giants held real address books). Notes-enrichment pass added. Email field corruption found: Email1Address was junk single letters; rewrote merge to reconstruct real emails. Re-ran corrected pipeline: 821 unique, 0 junk emails. |
|
||||
| 2026-06-01 ~21:08 MST | Multi-pass data cleaning on Howard-Home (local iteration): unified identity model (union-find over 5 dedup signals), derived-name + raw-name dedup to collapse last duplicates. Final: 6118 raw -> 674 unique contacts, 0 invalid emails, 0 duplicate groups. |
|
||||
| 2026-06-01 ~22:46 MST | Import troubleshooting: diagnosed BOM-corrupted header causing Outlook to drop email/phone fields; rebuilt into exact 92-col Outlook template, UTF-8 no BOM. Fixed address-field artifacts (treb-fixaddr.ps1). Emptied default Contacts folder (929->0) via COM; pushed clean file (666 contacts, 622 emails) to Owner Desktop as default.csv via RMM (gzip+base64 chunks). Import succeeded: 664 contacts confirmed in default Contacts. Perceived "Tim Gleason duplicates" traced to leftover mounted source PSTs aggregating in address book — fix is PST unmount, not more deduping. |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user