Export-EulandaContactToOutlook #
ÜBERSICHT #
Exportiert EULANDA-Kontakte als Outlook-Kontakte über die Microsoft Graph API.
SYNTAX #
Export-EulandaContactToOutlook [-Token] <string> [[-Udl] <string>] [[-AddressId] <int[]>]
[[-AddressMatch] <string[]>] [[-AndPathList] <string[]>] [[-OrPathList] <string[]>]
[[-NotPathList] <string[]>] [[-CompanySource] <string>] [[-ContactType] <string[]>]
[[-FolderName] <string>] [-CreateFolder] [-IncludePhoto] [[-UserEmail] <string>] [-DeltaSync]
[-RemoveOrphaned] [<CommonParameters>]
BESCHREIBUNG #
Orchestrierungsfunktion, die Kontakte aus der EULANDA-Datenbank liest und als Outlook-Kontakte über die Microsoft Graph API synchronisiert.
Die Selektion erfolgt über drei Wege:
- Direkte Adress-IDs (-AddressId)
- Match-Codes (-AddressMatch)
- Merkmalbaum-Pfade (-AndPathList, -OrPathList, -NotPathList)
Pro Kontakt wird geprüft, ob bereits ein Outlook-Kontakt mit passender EULANDA Open Extension existiert (Update) oder ein neuer angelegt wird (Create). Optional können Kontaktfotos und ein separater Kontaktordner verwendet werden.
Mit -DeltaSync werden nur Kontakte synchronisiert, deren ChangeDate neuer als der gespeicherte Sync-Zeitpunkt in der SQL-Registry ist.
Mit -RemoveOrphaned werden nach dem Sync Outlook-Kontakte gelöscht, deren KontaktId nicht mehr in der DB-Ergebnismenge enthalten ist.
PARAMETER #
-Token #
Type: string
Bearer-Token für die Graph API (von Get-GraphToken).
-Conn #
Geöffnete ADO-Connection zur EULANDA-Datenbank.
-Udl #
Type: string
Alternativ: Pfad zur UDL-Datei. Wird verwendet, wenn kein Conn übergeben wird.
-AddressId #
Type: int[]
Eine oder mehrere Adress-IDs zur direkten Selektion.
-AddressMatch #
Type: string[]
Eine oder mehrere Match-Codes zur Adress-Selektion.
-AndPathList #
Type: string[]
Merkmalbaum-Pfade, die als UND verknüpft werden.
-OrPathList #
Type: string[]
Merkmalbaum-Pfade, die als ODER-Gruppe verknüpft werden.
-NotPathList #
Type: string[]
Merkmalbaum-Pfade, die als NICHT-Gruppe verknüpft werden.
-CompanySource #
Type: string
Default: 'Match'
Bestimmt, welches Feld als Firmenname verwendet wird. ‘Match’ (Default), ‘Name1’, ‘Ident’.
-ContactType #
Type: string[]
Default: @('M'
Filtert Kontakte nach Typ-Feld. Default: @(‘M’,‘F’) (nur Mann und Frau). ‘M’ = Mann, ‘F’ = Frau, ‘P’ = Person (generisch). Mit @(‘M’,‘F’,‘P’) werden alle Kontakte geladen.
-FolderName #
Type: string
Name des Outlook-Kontaktordners (z.B. “EULANDA”).
-CreateFolder #
Type: switch
Wenn gesetzt, wird der Kontaktordner automatisch erstellt.
-IncludePhoto #
Type: switch
Wenn gesetzt, werden Kontaktfotos nach Outlook übertragen.
-UserEmail #
Type: string
E-Mail-Adresse des Postfachs (nur Service-Flow).
-DeltaSync #
Type: switch
Wenn gesetzt, werden nur Kontakte synchronisiert, deren ChangeDate neuer als der letzte Sync-Zeitpunkt ist. Der Zeitstempel wird in der SQL-Registry unter \MODULES\GraphAPI\Contact\LastSync gespeichert (rein lokaler Vergleich, keine zusätzlichen API-Calls). Unveränderte Kontakte erhalten den Status ‘Unverändert’.
-RemoveOrphaned #
Type: switch
Wenn gesetzt, werden nach dem Sync Outlook-Kontakte mit EULANDA Open Extension gelöscht, deren KontaktId nicht mehr in der DB-Ergebnismenge enthalten ist. Gelöschte Kontakte erhalten den Status ‘Entfernt’.
AUSGABEN #
pscustomobject[]
Ergebnis-Array mit Status pro Kontakt.
BEISPIELE #
# Kontakte per Match-Code exportieren
Export-EulandaContactToOutlook -Token $token -Conn $conn `
-AddressMatch 'EULANDA*' -FolderName 'EULANDA' -CreateFolder
# Kontakte per Merkmalbaum mit Fotos
Export-EulandaContactToOutlook -Token $token `
-Udl 'C:\Eulanda\EULANDA_1 EulandaGmbH.udl' `
-AndPathList '\Adressen\Shop\Aktiv' `
-FolderName 'EULANDA' -CreateFolder -IncludePhoto
# Einzelne Adresse per ID
Export-EulandaContactToOutlook -Token $token -Conn $conn -AddressId 1