PS - Variable an -filter übergeben
Servus,
ich würde gerne an den -filter parameter von z.B. get-ADUser eine Variable übergeben - lt. dem doc hier:
https://technet.microsoft.com/en-us/library/hh531527(v=ws.10).aspx
Example 9:
Get-ADUser -Filter 'lastLogon -gt $date'
sollte das gehen, aber:
mit ' ' wird da der filterbegriff zu einem string, und $date nicht mehr ausgewertet, oder?
Zumindest funktioniert es so nicht
Wie kann ich also dem filter Parameter eine Variable übergeben?
ich würde gerne an den -filter parameter von z.B. get-ADUser eine Variable übergeben - lt. dem doc hier:
https://technet.microsoft.com/en-us/library/hh531527(v=ws.10).aspx
Example 9:
Get-ADUser -Filter 'lastLogon -gt $date'
sollte das gehen, aber:
mit ' ' wird da der filterbegriff zu einem string, und $date nicht mehr ausgewertet, oder?
Zumindest funktioniert es so nicht
Wie kann ich also dem filter Parameter eine Variable übergeben?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 372443
Url: https://administrator.de/forum/ps-variable-an-filter-uebergeben-372443.html
Ausgedruckt am: 05.04.2025 um 19:04 Uhr
5 Kommentare
Neuester Kommentar

Zitat von @NetzwerkDude:
das eigentlich problem:
funktioniert nicht
das eigentlich problem:
> $user = 'test'
> Get-ADUser -Filter {Name -like "*$user*"}
>
funktioniert nicht
$user = 'test'
Get-ADUser -Filter "Name -like '*$user*'"
$user = 'test'
Get-ADUser -Filter * | ?{$_.Name -like "*$user*"}
$user = 'test'
Get-ADUser -ldapfilter "(cn=*$user*)"

Zitat von @NetzwerkDude:
Aber ich frage mich wie der PowerShell Host den ersten Befehlt "aufrollt" damit $user aufgelöst wird? d.h.warum funktionieren in diesem fall die singlequotes so, das er die Variable auflöst?
Der Filter "suggeriert" einem das man hier nach Powershell Syntax arbeiten kann wenn man mit geschweiften Klammern arbeitet, dem ist aber nicht so denn jeder Filter folgt der Syntax des CMDLet Anbieters, also bei WMI Filter arbeiten hier bspw. wieder anders als bei dem hiesigen LDAP-Anbieter des AD.Aber ich frage mich wie der PowerShell Host den ersten Befehlt "aufrollt" damit $user aufgelöst wird? d.h.warum funktionieren in diesem fall die singlequotes so, das er die Variable auflöst?
Geschweifte Klammern sorgen bei Filtern deswegen oftmals für Verwirrung.