sunnyrainyday
Goto Top

Powershell: Werte aus Array gezielt auslesen

Hallo,

Stehe ein wenig auf´m Schlauch.
Ich möchte aus einem Array nur den Wert eines Feldes auslesen. Also z.b. in meinem Fall "Dirk Muster" aus dem Feld "Name"(siehe weiter unten).
Ziel ist es also eine Datei zu exportieren mit dem Dateinamen des Users, und der Username soll in die Datei geschrieben werden.

z.b. "Dirk Muster.csv" mit dem Inhalt "Dirk Muster"

Mit meinem Laienwissen dachte ich könnte es wie folgt lösen:

$userslist = import-csv -Path C:\Users\Administrator\Desktop\user.csv -Delimiter ";"


foreach ($users in $userslist) {
$users | Select-Object -ExpandProperty name
$users | export-csv -Path C:\Users\Administrator\Desktop\$users.csv -NoTypeInformation
Write-Host $users
}


Ausgabe: @{SamAccountname=Dirk; Name=Dirk Muster; OrgID=1009}

Das ist natürlich nicht zielführend. Wie kann ich nun anhand von Feldnamen den Wert gezielt auslesen lassen?
Vielen Danke für eure Hilfe.

Content-Key: 371090

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

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

Member: Kraemer
Solution Kraemer Apr 13, 2018 at 07:48:45 (UTC)
Goto Top
foreach ($users in $userslist) {
Write-Host $users.name
}
Member: SunnyRainyDay
SunnyRainyDay Apr 13, 2018 at 08:54:10 (UTC)
Goto Top
Vielen Dank....das hat schon mal mit der Dateibenennung geklappt. Das schreiben der Datei mit dem Usernamen leider nicht. Es wird stattdessen "Length" "13" ausgegeben. Hab mich was eingelesen und es so verstanden, das es wohl daran liegt das Export-CSV nur Objekte schreiben kann keine Strings?!

Gibt´s da eine einfach leicht nachvollziehbare Lösung? Danke!
Member: Kraemer
Kraemer Apr 13, 2018 at 09:05:06 (UTC)
Goto Top
foreach ($users in $userslist) {
$users.name | set-content -path $users.name".csv"  
}