nagus
Goto Top

Powershell Filter funktioniert nicht in Schleife

Moin,
bei mir funktioniert der Aufruf nicht:

Foreach($n in $Data){ $temp = Get-ADUser -Filter "displayname -like '*$n.username*'" -properties * | select samaccountname, mail, manager  
}

Wenn ich manuell
Get-ADUser -Filter "displayname -like '*MeinName*'" -properties * | select samaccountname, mail, manager  
eintrage funktioniert es.

Irgend etwas stimmt mit der Maskierung der Variablen nicht, aber ich kapiere gerade nicht was ...
Hat jemand ne schnelle lösung?

Thx
Nagus

Content-ID: 627139

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

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

146707
Lösung 146707 01.12.2020 aktualisiert um 11:20:34 Uhr
Goto Top
Irgend etwas stimmt mit der Maskierung der Variablen nicht, aber ich kapiere gerade nicht was ...
Powershell Grundlagen erste Stunde : Erklärung kannst du hier detailliert nachlesen Variable expansion in strings and here-strings

Beim Zugriff auf Properties eines Objekts innerhalb von doppelten Anführungszeichen musst du ne Subexpression draus machen denn sonst interpretiert die PS alles ab dem Punkt als String und nicht als Property eines Objektes.
"displayname -like '*$($n.username)*'"
Nagus
Nagus 01.12.2020 um 11:23:53 Uhr
Goto Top
Danke das wars. Da ich learning by doing mache (so neben bei) hatte ich das zwar schon, aber noch ohne weitere Informationen. Den Link werde ich dann mal inhalieren ...