[powershell] Using "-Filter" with a variable

I try to filter out something like this:

Get-ADComputer -Filter {name -like "chalmw-dm*" -and Enabled -eq "true"} ...

This works like a charm and gets exactly what I want...

Now I want the "name -like ..." part as a variable like this:

Get-ADComputer -Filter {name -like '$nameregex' -and Enabled -eq "true"} |

I checked several questions (for example, PowerShell AD Module - Variables in Filter), but this isn't working for me.

I tried it with the following:

$nameRegex = "chalmw-dm*"
$nameRegex = "`"chalmw-dm*`""

And also in the Get-ADComputer command with those ' and without.

Could anyone give me some hints?

This question is related to powershell filter

The answer is


Or

-like '*'+$nameregex+'*'

if you would like to use wildcards.


Add double quote

$nameRegex = "chalmw-dm*"

-like "$nameregex" or -like "'$nameregex'"


Try this:

$NameRegex = "chalmw-dm"  
$NameR = "$($NameRegex)*"
Get-ADComputer -Filter {name -like $NameR -and Enabled -eq $True}