LDAP查询期间某些用户的例外情况

时间:2014-11-12 11:09:05

标签: powershell ldap

我有一个小脚本来查询LDAP服务器

$domain = "LDAP://server-url:389/dc=dir,dc=cx,dc=com"
$auth = [System.DirectoryServices.AuthenticationTypes]::FastBind
$root = New-Object System.DirectoryServices.DirectoryEntry($domain, $Username, $Password, $auth)
$query = new-Object System.DirectoryServices.DirectorySearcher($root)
$query.Filter = "uid=myuser"
$objClass = $query.FindOne()
if (($objClass -eq $null) -or ($objClass.Count -eq 0))
{
   write-Host "UID=myuser does not exist"
}
else
{
    $properties = $objClass.Properties
    foreach($field in $properties.GetEnumerator())
    {
       write-Host "$($field.name) => $($field.value)"
    }
}

这对某些UID完全没问题。但对于某些人,我在$query.findOne()上收到例外:异常调用" FindOne"用" 0"参数:" HRESULT的异常:0x8000500C"

任何人都知道这可能来自哪里?我可以使用任何LDAP浏览器(例如Softerra)正常搜索这些UID。我也没有在该用户的字段中看到任何特殊字符等。我也试过findAll()但同样的错误。 如果找不到用户,则会正确进入第一个if子句。

0 个答案:

没有答案