下面的脚本列出了一些用户的详细信息,它的作品,只有在情况下,我已经输入了确切的用户名。如果我输入了部分用户名,是否有一种方法可以用来获得结果?我的意思是,例如,如果我输入“elibukin”或“eli.buk”instaed的“eli.bukin”女巫是正确的用户名。
do {
Write-Host "Who r we looking for ? (type EXIT when u done)"
$User = Read-Host
Get-ADUser $User -Properties * |
fl empl*,title, sam*, disp*, mail*, manager*, depa*, giv*, l, last*,
logon*, when*
} until ($user -eq "exit")
4条答案
按热度按时间afdcj2ne1#
我会使用-LDAPFilter和模糊的名称解析(ANR)。
有关ANR的更多信息,请参见https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/1a9177f4-0272-4ab8-aa22-3c3eafd39e4b。
xkrw2x1b2#
实际上,我写过一个类似的剧本。我使用了-like操作符来适应部分匹配。但是,这可能会给您带来不止一个结果。
或者使用以下格式来缩小结果范围:
使用
-or
而不是-and
获得更广泛的结果。2exbekwf3#
如果需要模糊匹配,请使用参数
-Filter
和-like
运算符:3zwtqj6y4#
您不必使用-ldapfilter。- 过滤器和歧义名称解析(https://en.wikipedia.org/wiki/Ambiguous_name_resolution)。我遇到过一个案例,givenname中有两个名字,电子邮件和upn不一样。