danielbodensee
Goto Top

Powershell, neue Spalte einer Liste hinzufügen

Hallo zusammen,

ich lese eine CSV-Datei ein mit 7 Spalten ein, exportiere von einem Feld der Spalte den UserID aus der eMail-Adresse und prüfe die UserID gegen das AD ab. Nun möchte ich die eingelesene Liste wieder als CSV-Datei exportieren und dabei als weitere Spalte das Ergebnis der Prüfung zum AD ausgeben.

Aktuell finde ich den richtigen Dreh nicht...

Wie muss ich korrekt vorgehen damit die eingelesene Liste plus der erweiterten Spalte wieder ausgegeben/gespeichert werden kann?


Viele Grüsse,
Daniel

$CsvFileImport = "C:\Temp\expired_users.csv"  
$CsvFileExport = "C:\Temp\expired_users_adstatus.csv"  
$UserEntries = Import-Csv -Path $CsvFileImport -Delimiter ";" | Where-Object {$_.country -eq "DE"}  

$UserExport =@()

foreach ($user in $UserEntries) {
    $userID = $user.email.Substring(0,$user.email.IndexOf("@"))  

    if (Get-ADUser -Filter {Name -eq $userID}) {
        $AdStatus = "User im AD gefunden"  
    }
    else {
        $AdStatus = "User nicht im AD gefunden"  
    }

    $UserExport += $user, $AdStatus
}

$UserExport | select customerId, corporateId, email, firstName, lastName, country, status, AdStatus # | Export-Csv $CsvFileExport -Delimiter ";" -NoType -Encoding UTF8 

Content-Key: 329282

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

Printed on: April 26, 2024 at 13:04 o'clock

Member: DanielBodensee
DanielBodensee Feb 13, 2017 at 13:43:31 (UTC)
Goto Top
Hallo zusammen,

ich habe es soweit doch noch gefunden, hatte es mal gehabt, hat wegen Schreibfehler nicht geklappt und wurde von mir wieder verworfen. Etwas mehr nachgelesen, dann hat es doch noch geklappt face-smile

Gruss,
Daniel

Lösung (für mich) war:
$UserExport += $user | Select-Object *, @{Name=”AdUserResult”; Expression = {$AdStatus}}
Mitglied: 132272
132272 Feb 13, 2017 at 14:28:21 (UTC)
Goto Top
oder Add-Member

Gruß
Member: DanielBodensee
DanielBodensee Feb 15, 2017 at 06:12:11 (UTC)
Goto Top
Hi,

danke für die Info, das werde ich gleich testen face-smile

Gruss,
Daniel