Get-ADUser中带变量的通配符

tom*_*ulk 4 powershell

我确定这只是一个语法错误,但我试图搜索AD用户,我无法弄清楚为什么这不起作用:

Write-Host "Enter LastName or UserName:"
$x = Read-Host
Get-ADUser -Filter { SAMAccountName -like '*$x*' } -Properties DispalyName | FT -Properties DisplayName
Run Code Online (Sandbox Code Playgroud)

只是不回报任何东西.我确定它是带有"*"的语法.但不知道为什么.谢谢你的帮助.

Sha*_*evy 8

$ x未在Filter脚本块中展开,这应该可以完成以下任务:

$x = 'mini'
Get-ADUser -Filter "SamAccountName -like '*$x*'" -Properties DisplayName | ft DisplayName 

DisplayName
-----------
Administrator
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用ldap过滤器:

Get-ADUser -LDAPFilter "(samaccountname=*$x*)"
Run Code Online (Sandbox Code Playgroud)