使用 sAMAccountname 过滤来自 Get-ADUser 的结果

154*_*433 3 powershell active-directory

我想使用Get-ADUser. 我遇到的问题是当使用sAMAaccount名称作为过滤器时,如果在多个条目中找到该值,我会得到多个结果。举例说明,如果我samaccountname的名字是“a123b”,而我同事的名字是“c1234d”,当我运行这个命令时,我会得到我们的名字:

get-aduser -ldapFilter "(samaccountname=*123*)"| select Name
Run Code Online (Sandbox Code Playgroud)

我只想根据“123”而不是“1234”返回我的信息

我已经尝试了以下方法也无济于事:

get-aduser -Filter "samaccountname -like '*123*'" | select Name
Run Code Online (Sandbox Code Playgroud)

Itc*_*don 5

您可以使用正则表达式缩小范围:

$filter = "[a-zA-Z]123[a-zA-Z]"
Get-ADUser -Filter "samaccountname -like '*123*'" | where { $_.samaccountname -match $filter} | select name
Run Code Online (Sandbox Code Playgroud)
  • $filter 是一个简单的正则表达式模式,寻找被字母(大写或小写)包围的 123
  • -match 是允许正则表达式比较的运算符