netzwerkdude
Goto Top

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 face-sad

Wie kann ich also dem filter Parameter eine Variable übergeben?

Content-Key: 372443

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

Ausgedruckt am: 26.04.2024 um 03:04 Uhr

Mitglied: emeriks
emeriks 27.04.2018 um 15:45:13 Uhr
Goto Top
Hi,
Get-ADUser -Filter {lastLogon -gt $date}

E.
Mitglied: NetzwerkDude
NetzwerkDude 27.04.2018 um 16:22:17 Uhr
Goto Top
das eigentlich problem:

$user = 'test'  
Get-ADUser -Filter {Name -like "*$user*"}  

funktioniert nicht
Mitglied: 136037
Lösung 136037 27.04.2018 aktualisiert um 19:58:32 Uhr
Goto Top
Zitat von @NetzwerkDude:

das eigentlich problem:

> $user = 'test'  
> Get-ADUser -Filter {Name -like "*$user*"}  
> 

funktioniert nicht
$user = 'test'  
Get-ADUser -Filter "Name -like '*$user*'"  
Oder
$user = 'test'  
Get-ADUser -Filter * | ?{$_.Name -like "*$user*"}  
oder
$user = 'test'  
Get-ADUser -ldapfilter "(cn=*$user*)"  
Mitglied: NetzwerkDude
NetzwerkDude 30.04.2018 um 10:22:39 Uhr
Goto Top
Hi,

Die unteren zwei sind soweit klar, einmal nachgelagerte filterung, einmal anderer parameter.

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?
Mitglied: 136037
Lösung 136037 30.04.2018 aktualisiert um 10:26:49 Uhr
Goto Top
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.
Geschweifte Klammern sorgen bei Filtern deswegen oftmals für Verwirrung.