TheCracked 13 Geschrieben 23. Februar 2018 Melden Teilen 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 Link zu diesem Kommentar
BOfH_666 577 Geschrieben 23. Februar 2018 Melden Teilen 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 Link zu diesem Kommentar
TheCracked 13 Geschrieben 23. Februar 2018 Autor Melden Teilen 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 Link zu diesem Kommentar
tesso 375 Geschrieben 23. Februar 2018 Melden Teilen 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 Link zu diesem Kommentar
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.