Powershell suche nach displayname funktioniert im Skript nicht
Hi zusammen,
bin gerade ein wenig am verzweifeln:
ich habe eine Liste mit Usern (Dispylaname) die ich als CSV in powershell einlese. Anschließend erweitere ich die um ein weiteres Feld, die Email Adresse.
Dann möchte ich über den Displaynamen die Emailadresse auslesen. Klappt auch problemlos, wenn ich das direkt in der Konsole für einen Benutzer mache, im Skript bekomme ich nur Fehler.
Die Userliste liegt in $Userliste und hat die folgende Struktur:
bin gerade ein wenig am verzweifeln:
ich habe eine Liste mit Usern (Dispylaname) die ich als CSV in powershell einlese. Anschließend erweitere ich die um ein weiteres Feld, die Email Adresse.
Dann möchte ich über den Displaynamen die Emailadresse auslesen. Klappt auch problemlos, wenn ich das direkt in der Konsole für einen Benutzer mache, im Skript bekomme ich nur Fehler.
Die Userliste liegt in $Userliste und hat die folgende Struktur:
get-aduser -properties * -filter {Displayname -eq "Benutzername"} | select Userprincipalname
foreach ($u in $userlist)
{
get-aduser -properties * -filter {Displayname -eq $u.user} | select Userprincipalname
$u.Email = $email.emailaddress
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2800768550
Url: https://administrator.de/contentid/2800768550
Ausgedruckt am: 05.11.2024 um 04:11 Uhr
8 Kommentare
Neuester Kommentar
Servus,
die da wären??
Mal davon abgesehen, dass man nicht weiß, wie deine CSV aussieht...
die da wären??
Mal davon abgesehen, dass man nicht weiß, wie deine CSV aussieht...
Zitat von @ukulele-7:
Ich tippe auf Schreibfehler im Dateinamen der CSV. Du hast hier schon zwei falsche Varianten von "Displayname" eingebaut.
Ich tippe auf Schreibfehler im Dateinamen der CSV. Du hast hier schon zwei falsche Varianten von "Displayname" eingebaut.
... das wäre mein nächster Tipp gewesen...
Servus.
Die Filter mit Get-ADUser sind da etwas eigenwillig besonders bei Variablen und Verwendung der {} Filter-Variante mit Properties einer Variablen, weil die Klammern einen eigenen Variable-Kontext aufmachen.
Dein Vorhaben reduzierst du hiermit auf einen Einzeiler:
Was du dann bei Bedarf direkt wieder an Export-CSV pipen kannst.
Grüße Uwe
Die Filter mit Get-ADUser sind da etwas eigenwillig besonders bei Variablen und Verwendung der {} Filter-Variante mit Properties einer Variablen, weil die Klammern einen eigenen Variable-Kontext aufmachen.
Dein Vorhaben reduzierst du hiermit auf einen Einzeiler:
Import-Csv -Path $datei | select user,@{n='email';e={Get-ADUser -Filter "DisplayName -eq '$($_.user)'" -Properties EmailAddress | select -Expand EMailAddress}}
Grüße Uwe