Hallo,
sitze hier und finde einfach nicht weiter. Vlt. Hat jemand von euch ine Idee oder Ansatz?
auto Anlegen von Kontakten im AD mit Daten aus einer CSV. Klappt auch, jedoch bricht das Script ab bei Datensätzen, welche leer sind.
Script:
$datasource=import-csv -Delimiter "," -Path "C:\temp\Import-Export\neuebenutzer.csv" foreach($datarecord in $datasource) { $OU = "OU=Test,DC=intern,DC=testdom,DC=local" $username=$datarecord.cn $sn = $datarecord.Nachname $givenName=$datarecord.Vorname $mail=$datarecord.MailAdresse $physicalDeliveryOfficeName = $datarecord.Anrede+" "+$datarecord.Titel $department=$datarecord.Abteilung $title=$datarecord.Position $company=$datarecord.Firma $streetAddress=$datarecord.Straße $l=$datarecord.Ort $postalCode=$datarecord.PLZ $telephoneNumber=$datarecord.Telefon1 $fax=$datarecord.Fax $otherTelephone1=$datarecord.otherTelephone $otherTelephone2=$datarecord.otherTelephone2 $otherTelephone3=$datarecord.otherTelephone3 $otherTelephone4=$datarecord.otherTelephone4 $displayname=$datarecord.Nachname+", "+$datarecord.Vorname New-ADObject -Name $username -Type contact -Path $OU -Otherattributes @{title=$title;sn=$sn;givenName=$givenName;mail=$mail;physicalDeliveryOfficeName=$physicalDeliveryOfficeName;department=$department;company=$company;streetAddress=$streetAddress;l=$l;postalCode=$postalCode;telephoneNumber=$telephoneNumber;facsimileTelephoneNumber=$fax;otherTelephone=$otherTelephone1,$otherTelephone2,$otherTelephone3,$otherTelephone4;displayname=$displayname} }
# soweit funktionierts, solange alle Zellen belegt in csv
-----------------------------------------------------------------------
Hashtable anlegen, die von leeren Einträgen bereinigt wurde und diese dann an - OtherAttributes binden klappt irgendwie nicht.
Script:
$datasource=import-csv -Delimiter "," -Path "C:\temp\Import-Export\neuebenutzer.csv" foreach($datarecord in $datasource) { ...... $otherTelephone4=$datarecord.otherTelephone4 $displayname=$datarecord.Nachname+", "+$datarecord.Vorname
$OtherAttributes=@{} $datarecord.psobject.properties | foreach {if (!([string]::IsNullOrEmpty($_.Value))) {$OtherAttributes[$_.Name] = $_.Value }}
New-ADObject -Name $username -Type contact -Path $OU -Otherattributes $OtherAttributes }
Dieses Scipt brincht leicder ab
New-ADObject : Das angegebene Verzeichnisdienstattribut bzw. der angegebene Verzeichnisdienstwert ist nicht vorhanden Parametername: Abteilung
Hat jemand einen Ansatz, wie man sonnst csv mit teilweise leeren Zellen in Datensätzen importieren kann, bzw. eine Idee, wieso dieses Script abbricht?
Danke & MfG