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-ID: 371090

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

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

Kraemer
Lösung Kraemer 13.04.2018 um 09:48:45 Uhr
Goto Top
foreach ($users in $userslist) {
Write-Host $users.name
}
SunnyRainyDay
SunnyRainyDay 13.04.2018 um 10:54:10 Uhr
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!
Kraemer
Kraemer 13.04.2018 um 11:05:06 Uhr
Goto Top
foreach ($users in $userslist) {
$users.name | set-content -path $users.name".csv"  
}