Jump to content

Import über Powershell mit CSV bringt Fehler


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo ich habe ein Script gefunden was mir über Powershell und eine CSV Datei, Email Kontakte Importiert. Beim Start erhalten ich immer die Fehlermeldung

 

Cannot bind argument to parameter 'ExternalEmailAddress' because it is null.

+ CategoryInfo : InvalidData: (:) [New-MailContact], ParameterBindingValidationException

+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,New-MailContact

 

The operation couldn't be performed because object ' ' couldn't be found on Server.name.local'.

+ CategoryInfo : NotSpecified: (0:Int32) [set-Contact], ManagementObjectNotFoundException

+ FullyQualifiedErrorId : F91F2397,Microsoft.Exchange.Management.RecipientTasks.SetContact

# Create User Accounts & Mailboxes According to Information in contacts.csv (CSV Formatted) 
# NOTE: Be sure that the Contacts.csv file resides in the same directory as the script when running.
# $_. (defined by $entry) calls the column in the CSV (e.g. $_.First calls the data from csv column titled First)
# $_.First is First Name
# $_.Last is Last Name
# $DN is Display Name
# $uLogin is User Login Name
# $OU is the Organizational Unit for User Objects (String Value enclosed in '')
# $Domain is the UPN Domain Name (either internal Domain Name or Public Domain Name if added as additional UPN Domain in Domains & Trusts, string value enclosed in '')
# $Server is the Database Serer Name (String value enclosed in '')
# $SG is the Storage Group Name for hosting Mailboxes 
# $MDB is the Mailbox Database Name for hosting Mailboxes
# Define Common Variables
$OU = 'Contacts'
# Call CSV File & Create Mailboxes
Write-host "Creating Contacts..."
import-csv 'contacts.csv' |
foreach{ 
 $entry = $_
 $DN = $_.First+" " +$_.Last;
 $Alias = $_.First+"_" +$_.Last
 New-MailContact $DN -DisplayName $DN -FirstName $_.First -LastName $_.Last -organizationalunit $OU -Alias $Alias -ExternalEmailAddress $_.email
 Set-Contact $DN -Company $_.Company -Title $_.Title -Department $_.Department -Fax $_.Fax -MobilePhone $_.Mobile -Office $_.Location -Phone $_.Tel -PostalCode $_.Zip -PostOfficeBox $_.POBox -City $_.City -StreetAddress $_.StreetAdd -CountryorRegion $_.Country
 Write-Host 'OU   =' $OU
 Write-host 'First Name  =' $_.First
 Write-Host 'Last Name  =' $_.Last
 write-host 'Display Name  =' $DN
 Write-Host 'Alias   =' $Alias
 Write-Host 'Email Address  =' $_.Email
 Write-Host 'Company  =' $_.Company
 Write-Host 'Office  =' $_.Location
 Write-Host 'Title  =' $_.Title
 Write-Host 'Department =' $_.Department
 Write-Host 'Telephone =' $_.Tel
 Write-Host 'Fax  =' $_.Fax
 Write-Host 'Mobile No.  =' $_.Mobile

 }

 

Meine CSV Datei sieht so aus:Last,First,Email,Company,Department,Title,Location,Tel,Fax,Mobile,POBox,Zip,StreetAdd,City,Country

Gates,bill,gates.bill@microsoft.com,Microsoft Corporation,Executive,Chairman,Redmond,+1 (0)830 111111,+1 (0)11116727,+1 (0)111111780,8469,A9141,"1 MS Close",Redmond,United States of America

Link zu diesem Kommentar
  • 2 Wochen später...

Da hast du mehrere Möglichkeiten.

Entweder du bereinigst deine CSV Datei oder du änderst den Scriptteil von:

Set-Contact $DN -Company $_.Company -Title $_.Title -Department $_.Department -Fax $_.Fax -MobilePhone $_.Mobile -Office $_.Location -Phone $_.Tel -PostalCode $_.Zip -PostOfficeBox $_.POBox -City $_.City -StreetAddress $_.StreetAdd -CountryorRegion $_.Country

 

zu:

Set-Contact $DN -Company $_.Company -Department $_.Department -Fax $_.Fax -MobilePhone $_.Mobile -Office $_.Location -Phone $_.Tel -PostalCode $_.Zip -PostOfficeBox $_.POBox -City $_.City -StreetAddress $_.StreetAdd -CountryorRegion $_.Country
 if ($_.Title){
 	Set-Contact $DN -Title $_.Title
 }

 

oder probier mal das:

Set-Contact $DN -Company $_.Company (if($_.Title) -Title $_.Title ) -Department $_.Department  -Fax $_.Fax -MobilePhone $_.Mobile -Office $_.Location -Phone $_.Tel -PostalCode $_.Zip -PostOfficeBox $_.POBox -City $_.City -StreetAddress $_.StreetAdd -CountryorRegion $_.Country

 

Das 3te kann ich aber nicht testen, sag mal ob das klappt.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...