Jump to content

New-ADObject mit csv - Problem mit leeren Zellen


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

Empfohlene Beiträge

Geschrieben

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

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...