lupolo
Goto Top

PS Werte CSV-Datei in AD Attribut

Hallo Leute,

ich komm grad irgendwie nicht weiter. Wir müssten für jeden AD Benutzer ein AD-Attribut (scanPath) mit dem dazugehörigen CN füllen:

Beispiel: CN: Test.Person1
AD Attribut: scanPath
Der Wert soll wie folgt gefüllt werden:: \\SERVER\Scans\Test.Person1

Ohne CSV
$name="Test.Person1"  
Set-ADUser Test.Person1 -Replace @{scanPath=”\\SERVER\Scans\$name”}

Ich würde gerne eine CSV-Datei nutzen, um das für alle 300 User mit einem Klick zu machen:
2016-11-10 14_34_20-usernames.csv - excel

Also dachte ich mir das so:
$name = Import-Csv -Delimiter ";" C:\USERNAMES.csv  
 
foreach ($i in $name){
    Set-ADUser $name -Replace @{scanPath=”\\SERVER\Scans\$name”}
}

Klappt aber leider irgendwie nicht, bekomme das mit der Zählvariable leider nicht so hin face-sad

Hat da jemand eine Idee?

Content-Key: 320535

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

Printed on: April 25, 2024 at 05:04 o'clock

Mitglied: 131381
131381 Nov 10, 2016 at 13:54:32 (UTC)
Goto Top
Falsche Variable benutzt
Set-ADUser $i.username -Replace @{scanPath=”\\SERVER\Scans\$($i.username)"}   
Gruß
Member: lupolo
lupolo Nov 10, 2016 at 14:35:01 (UTC)
Goto Top
Super besten Dank.
Kannst du mir das vielleicht erläutern?

Steht dann i für den Zählwert? Oder ist $i einfach die interne Variable in der Schleife und verweist dann auf den UserName in der .csv Datei?

Grüß
lupo
Mitglied: 131381
131381 Nov 10, 2016 updated at 15:43:35 (UTC)
Goto Top
Du importierst eine CSV-Datei als Objekt mit Eigenschaften. Bei einer CSV stellen die Spalten die Eigenschaften dar und Zeilen ein Array aus Objekten mit den Spaltennamen als Eigenschaften.
D.h. also das du mit einer FOR-Schleife über jede Zeile iterierst, und in jedem Durchlauf greifst du per Spaltename auf das jeweilige Feld der Zeile zu.


Ein
$csv = Import-Csv -Delimiter ";" C:\USERNAMES.csv   
$csv | get-member *
Zeigt dir diese Eigenschaften auch.

Denke immer daran das Powershell eine objektorientierte Scriptsprache ist die auf dem NET Framework fußt.

Gruß