Adresslisten aus CSV-Dateien
Hallo zusammen.
Ich benötige bitte einmal Unterstützung bei einem CSV Import-Problem.
Ich brauche eine automatisierte Möglichkeit Adresslisten aus einer CSV Datei in Exchange zu erstellen.
Die CSV besteht aus 8 Spalten, für den Filter werden die ersten 2 Spalten benötigt.
Spalte A = Firma
Spalte B = Abteilung
Anonymisierter Auszug:
Firma A;Einkauf (FirmaA)
Firma A;Marketing (FirmaA)
Firma A;Einkauf (FirmaA)
Firma A;Vertrieb (FirmaA)
Firma B;Marketing (FirmaB)
Firma B;Vertrieb (FirmaB)
Spalte B ist Eindeutig, dies wurde beim Datenexport bereits über den Namen gekennzeichnet. Hinzu kommt, das SpalteB als ConditionalCustomAttribute1 am Kontakt hinterlegt wurde.
Jetzt benötige ich dafür unterschiedliche Adresslisten.
1. Eine Adressliste nach Firma. Die Filterwerte sollen dabei alle Abteilungen der Firma sein
2. Eine Adressliste je Abteilungsgruppe (Alle Einkauf; alle Verkauf)
die zweite könnte noch manuell erstellt werden, da es eine Hand voll Adressgruppen sind; bei der ersten nicht.
Bei bisheriger Versuch zur Erstellung ist funktionsfähig. Mir fehlt nur der Filter.
Für Hilfe wäre ich sehr dankbar.
Allen bereits ein schönes Wochenende.
LG aus Bremen
Ich benötige bitte einmal Unterstützung bei einem CSV Import-Problem.
Ich brauche eine automatisierte Möglichkeit Adresslisten aus einer CSV Datei in Exchange zu erstellen.
Die CSV besteht aus 8 Spalten, für den Filter werden die ersten 2 Spalten benötigt.
Spalte A = Firma
Spalte B = Abteilung
Anonymisierter Auszug:
Firma A;Einkauf (FirmaA)
Firma A;Marketing (FirmaA)
Firma A;Einkauf (FirmaA)
Firma A;Vertrieb (FirmaA)
Firma B;Marketing (FirmaB)
Firma B;Vertrieb (FirmaB)
Spalte B ist Eindeutig, dies wurde beim Datenexport bereits über den Namen gekennzeichnet. Hinzu kommt, das SpalteB als ConditionalCustomAttribute1 am Kontakt hinterlegt wurde.
Jetzt benötige ich dafür unterschiedliche Adresslisten.
1. Eine Adressliste nach Firma. Die Filterwerte sollen dabei alle Abteilungen der Firma sein
2. Eine Adressliste je Abteilungsgruppe (Alle Einkauf; alle Verkauf)
die zweite könnte noch manuell erstellt werden, da es eine Hand voll Adressgruppen sind; bei der ersten nicht.
Bei bisheriger Versuch zur Erstellung ist funktionsfähig. Mir fehlt nur der Filter.
#Adresslisten erstellen
foreach ($List in $Kontakte)
{
$Firmenliste += $List.SpalteA
}
$Firmenliste = $Firmenliste | select -Unique
foreach ($Firma in $Firmenliste)
{
New-AddressList -Name $Firma -Container "\" -IncludedRecipients MailContacts -ConditionalCustomAttribute1 $Alle_Werte_aus_SpalteB_zu_dieser_Firma
}
Allen bereits ein schönes Wochenende.
LG aus Bremen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3229315944
Url: https://administrator.de/forum/adresslisten-aus-csv-dateien-3229315944.html
Ausgedruckt am: 06.04.2025 um 22:04 Uhr
2 Kommentare
Neuester Kommentar
Servus @Buerostuhlralleyfahrer, willkommen auf Administrator.de!
Für solche Gruppierungsaktionen eignet sich immer sehr gut das CMDLet Group-Object, somit entledigt man sich auch dem nachträglichen filtern mittels Where-Object.
Beispiel:
Grüße Uwe
Für solche Gruppierungsaktionen eignet sich immer sehr gut das CMDLet Group-Object, somit entledigt man sich auch dem nachträglichen filtern mittels Where-Object.
Beispiel:
# demo liste (wird bei dir ersetzt durch dein Import-CSV Aufruf)
$liste = @'
Firma;Abteilung
FirmaA;Marketing A
FirmaA;Marketing A
FirmaA;Verwaltung A
FirmaA;IT A
FirmaB;IT B
FirmaB;Lager B
'@ | ConvertFrom-CSV -Delimiter ";"
# liste nach Firmen gruppieren (group-object liefert Objekte mit den Eigenschaften Count,Name,Group)
# in der Eigenschaft "Name" ist der Name der Eigenschaft enthalten nach der gruppiert wurde
# in der Eigenschaft "Group" sind die gruppierten Zeilen für die Firma als Array enthalten
foreach($firma in $liste | group-object Firma){
# Abteilungen der Firma
$abteilungen = $firma.Group.Abteilung | select -Unique
# Adressliste für Firma erstellen
New-Addresslist -Name $firma.Name -IncludedRecipients MailContacts -ConditionalCustomAttribute1 $abteilungen
# eine Adressliste für jede Abteilung der jeweligen Firma
foreach($abteilung in $abteilungen){
New-Addresslist -Name $abteilung -IncludedRecipients MailContacts -ConditionalCustomAttribute1 $abteilung
}
}