none
Replace bei einigen AD Usern Import CSV RRS feed

  • Frage

  • Hey,


    ich bekomme bei einigen AD Usern einen replace, aber bei den Großteil von Usern funktioniert dies.


    Auschnitt .CSV:

    Vorname;Nachname;Telefon;Firma;Organisationseinheit;EMail;SamAccountName
    Moritz;Bohm;;ZB Personal;HOL PE 3;bohm@****.de;bohm
    Eike-Hendrik;Hadler;+49 40;ZB Personal;HOL PE 3;hadler@****.de;hadler



    Fehlermeldung:

    Set-ADUser : replace
    In C:\Users\Administrator\Desktop\Powershell\Import_bearbeiten.ps1:3 Zeichen:1
    + Set-ADUser -Identity $_.SamaccountName -GivenName $_.Vorname -Surname $_.Nachnam ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (bohm:ADUser) [Set-ADUser], ADInvalidOperationException
        + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.SetADUser

    Script:

    Import-Csv -Delimiter ";" -Path C:\Users\Administrator\Desktop\Powershell\Export_cherwell_bearbeitet.csv | 
    %{
    Set-ADUser -Identity $_.SamaccountName -GivenName $_.Vorname -Surname $_.Nachname -OfficePhone $_.Telefon -Company $_.Firma -Department $_.Organisationseinheit -EmailAddress $_.EMail
    }

    Ich bitte um Hilfe.


    Vielen Dank im Voraus.




    • Bearbeitet Moobo Donnerstag, 12. Juni 2014 12:56
    Donnerstag, 12. Juni 2014 12:23

Antworten

  • Moin,

    als Workaround würde ich einfach eine Platzhalternummer erfassen, die aus der normalen Büronummer inklusive Vorwahl (+494012345) besteht und dann entweder auf die Zentrale verweist oder vor der internen Nummer abbricht.

    Falls das nicht in der Quelldatei geht (sollte eigentlich mit Excel nicht schwer sein), könnte man das mit einer if-Klausel im Skript erschlagen, die die Variable entsprechend belegt, wenn sie denn den Wert Null aufweist.

    Ungetestet:

    if ($_.Telefon -eq $null) {$_.Telefon = "+494012345-0"}

    Viele Grüße
    Olaf


    Montag, 16. Juni 2014 13:49

Alle Antworten

  • Moin!

    Auf den ersten Blick: Das Attribut "OfficePhone" kommt mir komisch vor. Ich benutze immer das Attribut "telephoneNumber" bzw. zur Not "otherHomePhone", um die Telefonnummer des Benutzerobjektes zu ändern.

    Viele Grüße

    MichaMS

    Donnerstag, 12. Juni 2014 21:19
  • Moin,

    importiere doch mal deine CSV-Datei in Excel und suche nach Gemeinsamkeiten bei den nicht übernommenden Benutzerdatensätzen.

    Das könnte durchaus sowas sein, wie der Versuch, einen Eintrag in ein Feld zu schreiben, welches es nicht gibt oder ein anderes Format für die Eingabe vorsieht oder eine Pflichteingabe für ein Feld, die in den betreffenden Datensätzen nicht vorhanden ist (gern kommen da auch mal Kennwortrichtlinien ins Spiel).

    Viele Grüße
    Olaf

    Montag, 16. Juni 2014 10:27
  • Das Kennwort ist in dem Fall bei allen Benutzern gleich. Ich habe mal bei einem Benutzer wo die Telfonnummer fehlte nachgetragen, resultat der Benutzer wurde vollständig bearbeitet und nicht ausgelassen. Wie bekomme ikch das denn hin, dass es ihn egal ist ob da ein Feld gefüllt ist oder nicht in der CSV Datei?
    Montag, 16. Juni 2014 11:04
  • Moin,

    als Workaround würde ich einfach eine Platzhalternummer erfassen, die aus der normalen Büronummer inklusive Vorwahl (+494012345) besteht und dann entweder auf die Zentrale verweist oder vor der internen Nummer abbricht.

    Falls das nicht in der Quelldatei geht (sollte eigentlich mit Excel nicht schwer sein), könnte man das mit einer if-Klausel im Skript erschlagen, die die Variable entsprechend belegt, wenn sie denn den Wert Null aufweist.

    Ungetestet:

    if ($_.Telefon -eq $null) {$_.Telefon = "+494012345-0"}

    Viele Grüße
    Olaf


    Montag, 16. Juni 2014 13:49