繁体   English   中英

Get-ADUser输入的用户名不正确

[英]Get-ADUser for not exact username

下面的脚本列出了一些用户详细信息,仅在我输入了确切用户名的情况下它才起作用。 如果输入部分用户名,是否可以使用一种方法来获得结果? 我的意思是,例如,如果我输入的是“ eli.bukin”或“ eli.buk”或“ eli.buk”,则女巫是正确的用户名。

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")

我将使用-LDAPFilter与不明确的名称解析(ANR)。

Get-ADUser -LDAPFilter "(anr=smith)"

有关ANR的更多信息,请参见https://support.microsoft.com/zh-cn/kb/243299

我实际上已经在编写类似这样的脚本。 我使用了-like运算符来容纳部分匹配项。 但是,这可能会给您带来不止一个结果。

Get-ADUser -Filter ("SamAccountName -like '*$user*'")

或使用以下这种格式来缩小结果范围:

Get-ADUser -Filter ("SamAccountName -like '*$user*' -and Name -like '*$FirstName*' -and Surname -like '*$Lastname*'")

使用-or代替-and以获得更广泛的结果。

如果要进行模糊匹配,请使用参数-Filter-like运算符:

do {
  $user = Read-Host -Prompt 'Who are we looking for (type EXIT when done)'
  if ($user -ne 'exit') {
    Get-ADUser -Filter "SamAccountName -like '*$User*'" -Properties * |
      Format-List empl*,title, sam*, disp*, mail*, manager*, depa*, giv*, l,
                  last*, logon*, when*
  }
} until ($user -eq "exit")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM