scars 10 Geschrieben 26. August 2016 Melden Teilen Geschrieben 26. August 2016 Hallo zusammen, ich möchte alle alle Kontakte die mir in einer CSV vorliegen ins AD importieren für Exchange 2013. import-csv c:/test.csv -Delimiter ';' | ForEach-Object {New-MailContact -Name $_.ExternalEmailAddress -FirstName $_."FirstName" -LastName $_."LastName" -ExternalEmailAddress $_.ExternalEmailAddress -OrganizationalUnit $_.OrganizationalUnit -DisplayName $_.DisplayName} Anschließend schiebe ich mit "Set-Contact" noch die anderen Daten aus der CSV nach... (Telefon, Adresse etc.), funktioniert auch soweit. Als "Identity" bzw "Name" nutze ich die Emailadresse, denn diese ist defintiv immer eindeutig. Jetzt fehlt mir nur der Displayname, den ich allerdings in der CSV nicht habe sondern selbst generieren muss... Ziel ist dass sich der Displayname aus 3 Variablen der Tabelle zusammensetzt. "Firstname Lastname (Company)", aber daran scheitere ich gerade. Wie muss ich da vorgehen? Danke. Zitieren Link zu diesem Kommentar
MrCocktail 192 Geschrieben 26. August 2016 Melden Teilen Geschrieben 26. August 2016 Hi, baue dir doch einfach eine neue Variable: $Displayname = "$first $last ($Comp)" Gruß J Zitieren Link zu diesem Kommentar
scars 10 Geschrieben 26. August 2016 Autor Melden Teilen Geschrieben 26. August 2016 Danke für den Tipp, ich trau mich ja kaum zu fragen aber wie binde ich dass dann in die ForEach-Object Schleife ein? Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 26. August 2016 Melden Teilen Geschrieben 26. August 2016 https://technet.microsoft.com/de-de/library/bb124519(v=exchg.160).aspx Du erweiterst deine new-mailcontact um -displayname $displayname Zitieren Link zu diesem Kommentar
scars 10 Geschrieben 26. August 2016 Autor Melden Teilen Geschrieben 26. August 2016 Ja, aber an welcher Stelle erzeuge ich die Variable $displayname? Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 26. August 2016 Melden Teilen Geschrieben 26. August 2016 Vor dem Nutzen, also vor dem New-mailcontact. Zitieren Link zu diesem Kommentar
scars 10 Geschrieben 26. August 2016 Autor Melden Teilen Geschrieben 26. August 2016 (bearbeitet) Dann hab ich einen Verständnisfehler, denn genau das mache ich. import-csv c:/test.csv -Delimiter ';' | ForEach-Object {$Displayname = "$_.firstname $_.lastname"} {New-MailContact -Name $_.ExternalEmailAddress -ExternalEmailAddress $_.ExternalEmailAddress -OrganizationalUnit $_.OrganizationalUnit -DisplayName $DisplayName} Mit dem Ergebnis, dass er statt den Variablen $_.firstname und $_.lastname bei den erzeugten Kontakten immer ".firstname .lastname" schreibt. bearbeitet 26. August 2016 von scars Zitieren Link zu diesem Kommentar
Beste Lösung tesso 375 Geschrieben 27. August 2016 Beste Lösung Melden Teilen Geschrieben 27. August 2016 Dir fehlen absolute Grundlagen der Powershell. Befehle werden mit ";" getrennt. Alles innerhalb der geschweiften Klammern ist der Block, den das Foreach ausführt. Du hast oben etwas ganz anderes gebaut. Außerdem ist dein Displayname anders definiert, als du es etwas weiter oben haben wolltest. 1 Zitieren Link zu diesem Kommentar
scars 10 Geschrieben 27. August 2016 Autor Melden Teilen Geschrieben 27. August 2016 Danke für die Hilfe und die aufmunternden Worte. Ich habs jetzt und ja, die Powershell in dieser Form ist für mich absolut neu. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.