Benutzer mit den meisten Antworten
Replace bei einigen AD Usern Import CSV

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
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- Bearbeitet Olaf Engelke Montag, 16. Juni 2014 13:50
- Als Antwort vorgeschlagen Alex Pitulice Dienstag, 24. Juni 2014 11:10
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 4. Juli 2014 22:12
Alle Antworten
-
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 -
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?
-
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- Bearbeitet Olaf Engelke Montag, 16. Juni 2014 13:50
- Als Antwort vorgeschlagen Alex Pitulice Dienstag, 24. Juni 2014 11:10
- Als Antwort markiert Denniver ReiningMVP, Moderator Freitag, 4. Juli 2014 22:12