Powershell suche nach displayname funktioniert im Skript nicht

nagus
Goto Top
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:



Content-Key: 2800768550

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

Ausgedruckt am: 29.06.2022 um 01:06 Uhr

Mitglied: MrCount
MrCount 16.05.2022 aktualisiert um 16:06:43 Uhr
Goto Top
Servus,

Zitat von @Nagus:

im Skript bekomme ich nur Fehler.

die da wären??

Mal davon abgesehen, dass man nicht weiß, wie deine CSV aussieht...
Mitglied: ukulele-7
ukulele-7 16.05.2022 um 16:07:31 Uhr
Goto Top
Ich tippe auf Schreibfehler im Dateinamen der CSV. Du hast hier schon zwei falsche Varianten von "Displayname" eingebaut.
Mitglied: MrCount
MrCount 16.05.2022 um 16:10:32 Uhr
Goto Top
Zitat von @ukulele-7:

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... ;-) face-wink
Mitglied: Nagus
Nagus 16.05.2022 aktualisiert um 16:27:59 Uhr
Goto Top
Sorry, habe den Beitrag etwas zu früh abgeschickt und kann ihn nicht mehr editieren: daher hier noch einmal alles:

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 $UserList und hat die folgende Struktur:


Mitglied: SlainteMhath
SlainteMhath 16.05.2022 um 16:32:58 Uhr
Goto Top
Moin,

Der Filter muss mMn in Anführungszeichen stehen. Als in deinem Fall etwas

lg,
Slainte

PS: Du solltest uns noch die Fehlermeldung mitteilen :) face-smile
Mitglied: colinardo
Lösung colinardo 16.05.2022 aktualisiert um 16:47:25 Uhr
Goto Top
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
Mitglied: Nagus
Nagus 16.05.2022 um 17:07:58 Uhr
Goto Top
Okay, die Lösung von Colinardo funktioniert - wobei ich sie noch nicht verstehe ...


Zitat von @SlainteMhath:

Moin,

Der Filter muss mMn in Anführungszeichen stehen. Als in deinem Fall etwas

lg,
Slainte

PS: Du solltest uns noch die Fehlermeldung mitteilen :) face-smile
Nur der Vollständigkeit halber die fehlermeldung:

displayname : Die Benennung "displayname" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad
korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In D:\Useranlage_Entwicklung\test.ps1:23 Zeichen:40
$Email = get-aduser -properties * (displayname -like $u.user) | s ...
~~~~~~~~~~~
CategoryInfo : ObjectNotFound: (displayname:String) [], CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException
Mitglied: Nagus
Nagus 16.05.2022 um 17:11:11 Uhr
Goto Top
Zitat von @colinardo:

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 Lösung ist genial! Danke!
Da brauche ich noch ein paar Jahre .... Oo