TheCracked 13 Geschrieben 23. Februar 2018 Melden Geschrieben 23. Februar 2018 Hallo Zusammen, meine CSV sieht so aus: #TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser;;;;; name;samaccountname;officephone;ipphone;mobile;fax User1;User1;+49 111111;+49 11111;; User2;User2;+49 222222;+49 22222;+49 222222;+49 222222 mein Einzeiler sieht so aus: (Es wird eine CSV importiert und div. Felder werden neu beschrieben) Import-Csv -Path C:\Users\bla\Desktop\test-import.csv -Delimiter ";" | ForEach-Object {Set-ADUser -Identity $_.samaccountname -officephone $($_.officephone) -mobile $($_.mobile) -ipphone $($_.ipphone) -fax $($_ .fax)} Das Problem an meinem Import ist, dass wenn ich NULL Felder in meiner CSV habe, bekomme ich einen Fehler beim Importieren für diesen User: Set-ADUser : replace At line:1 char:90 + ... ach-Object {Set-ADUser -Identity $_.samaccountname -officephone $($_. ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (User1:ADUser) [Set-ADUser], ADInvalidOperationException + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.SetADUser Gibt es eine Möglichkeit, diesen Einzeiler so zu ändern, dass die NULL Felder einfach ignoriert werden, oder muss ich hierzu mir ein Script bauen, mit jeweils einer Prüfung (wie auch immer die aussehen mag), ob das Feld was kommt NULL ist? Da ich noch nicht so viel Ahnung davon habe, hätte ich es gern in diesem Einzeiler.. Viele Grüße TC Zitieren
BOfH_666 583 Geschrieben 23. Februar 2018 Melden Geschrieben 23. Februar 2018 Hast Du schon mal versucht, danach zu googeln? Du kannst Dir bestimmt vorstellen, dass Du nicht der Erste mit dieser Aufgabe bist, oder? Powershell to ignore blank or NULL entries in import-csv Bulk update of AD users properties Skip Blank Values in Import-CSV Zitieren
TheCracked 13 Geschrieben 23. Februar 2018 Autor Melden Geschrieben 23. Februar 2018 Ach genau die gibt es ja auch noch :) *Memo an mich: Erst googeln* Da bei mir nur Mobile oder Fax leer sein können in der CSV nur die IF Prüfung der beiden.. Import-Csv -Path C:\Users\bla\Desktop\testimport.csv -Delimiter ";" | ForEach-Object { if($_.mobile -eq "") {$mobilee = $NULL} else {$mobilee = $_.mobile} if($_.fax -eq "") {$faxe = $NULL} else {$faxe = $_.fax} Set-ADUser -Identity $_.samaccountname -officephone $($_.officephone) -mobile $mobilee -replace @{ipphone=$($_.ipphone)} -fax $faxe} Zitieren
tesso 377 Geschrieben 23. Februar 2018 Melden Geschrieben 23. Februar 2018 Das Problem sind die Leerzeichen bei den Telefonnummern. Import-Csv -Path C:\Users\bla\Desktop\test-import.csv -Delimiter ";" | ForEach-Object {Set-ADUser -Identity "$_.samaccountname" -officephone "$($_.officephone)" -mobile "$($_.mobile)" -ipphone "$($_.ipphone)" -fax "$($_.fax)"} Ist ungetestet. Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.