cheffkoch
Goto Top

Per Batch eine Spalte mit Werten aus AD in eine CSV Datei einfügen - Powershell

Guten Tag zusammen,

ich habe eine CSV-Datei. Möchte diese mittels eines Powershell-Skripts um eine Spalte erweitern und mit Werten aus AD füllen, die mittels der Mail aus Spalte B verglichen und ausgefüllt werden soll.

Kann mir da jemand weiterhelfen?

Danke und schöne Grüße,

cheffkoch

Content-Key: 665578

Url: https://administrator.de/contentid/665578

Printed on: April 23, 2024 at 10:04 o'clock

Member: killtec
killtec Apr 09, 2021 updated at 09:11:39 (UTC)
Goto Top
Hi,
was genau willst du denn für Attribute haben?
du kannst mittels
get-aduser -filter * | export-csv c:\temp\export.csv -encoding utf8
die User-Attribute auslesen (ungefiltert).

Gruß
Member: cheffkoch
cheffkoch Apr 09, 2021 at 09:34:43 (UTC)
Goto Top
Hallo,

danke aber das meinte ich nicht. Ich möchte eine csv importieren, diese um die Spalte Name erweitern. Mittels der AD soll nun anhand der Mail (die Mail steht bereits in der Zeile in der csv) der dazugehöhrige DisplayName in einer weiteren Spalte angezeigt werden.

Danke und Grüße!!!
Member: killtec
killtec Apr 09, 2021 at 10:35:08 (UTC)
Goto Top
So Richtig verstanden?
Du hast eiene Liste (CSV) mit Mailadressen der Mitarbeiter. Du willst das Attribut DisplayName anhand der Mailadresse herausfinden und in die selbe CSV speichern?
Mitglied: 148121
148121 Apr 09, 2021 updated at 13:59:43 (UTC)
Goto Top
Spaltennamen und Dateinamen/OU etc. an Bedürfnisse anpassen ...
$csvpath = 'E:\test.csv'  
$csv = Import-CSV $csvpath -Delimiter ";"  
$csv | Add-Member -MemberType NoteProperty -Name 'Name' -Value '' -Force  
$users = Get-ADUser -Filter * -SearchBase 'OU=Blablub,DC=domain,DC=tld' -Properties *  
foreach ($user in $users){
    $csv | ?{$_.Mail -eq $user.Mail} | %{$_.Name = $user.DisplayName}
}
$csv | export-csv $csvpath -Delimiter ";" -NoType -Encoding UTF8  
Member: cheffkoch
cheffkoch Apr 09, 2021 at 11:43:20 (UTC)
Goto Top
Ja genau face-smile wäre dir wirklich sehr dankbar
Member: cheffkoch
cheffkoch Apr 09, 2021 at 12:20:14 (UTC)
Goto Top
Er fragt noch nach einem Value-Parameter?

Aber schonmal vielen lieben Dank!!!
Mitglied: 148121
148121 Apr 09, 2021 updated at 13:59:55 (UTC)
Goto Top
Zitat von @cheffkoch:

Er fragt noch nach einem Value-Parameter?
Hatte ich nur in Zeile 3 vergessen, ist ergänzt ...
Member: cheffkoch
cheffkoch Apr 12, 2021 updated at 09:29:02 (UTC)
Goto Top
Danke, aber leider sieht es so aus als roliert er nicht mit durch die Schleife, er gibt immer nur einen gleichen Namen aus...

Wo könnte das Problem liegen?

Danke & schöne Grüße,

cheffkoch
Mitglied: 148121
148121 Apr 12, 2021 updated at 09:33:23 (UTC)
Goto Top
Zitat von @cheffkoch:

Danke, aber leider sieht es so aus als roliert er nicht mit durch die Schleife, er gibt immer nur einen gleichen Namen aus...

Wo könnte das Problem liegen?
An einer falschen Anpassung deinerseits der Spaltennamen in Zeile 6 im Where-Object, funktioniert hier einwandfrei!
Member: cheffkoch
cheffkoch Apr 12, 2021 at 11:30:06 (UTC)
Goto Top
tatsächlich war hier noch ein Fehler,

Funktioniert, danke!!!!!!!!!


wenn ich zusätzlich noch ausgeben möchte, ob der User nicht Aktiv ist (Im AD als Feld "Enabled" als True oder eben inaktiv False) wie baue ich das noch ein? Also nur ob der User inaktiv ist (Enabled = False), nicht ausgeben ob er aktiv ist


Vielen lieben Dank wirklich!!!
Mitglied: 148121
148121 Apr 12, 2021 at 12:14:55 (UTC)
Goto Top
Mit was nachdenken schaffst du das auch selbst face-wink. => Hausaufgabe.