1
我一直在面对这个问题,它似乎没有结束,希望你能帮助我。活动目录查询返回它不应该的空字段
我在Powershell脚本中针对Active Directory进行LDAP查询。获取正确的这点是我的代码:
$objDomain = New-Object System.DirectoryServices.DirectoryEntry("LDAP://OU=ivegotusers,DC=global,DC=foo,DC=com")
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
#Write-Host $objSearcher
$colProplist = "name", "sn", "whenCreated", "whenChanged", "createTimeStamp", "modifyTimeStamp", "displayName", "mailNickName"
foreach ($i in $colPropList){
$objSearcher.PropertiesToLoad.Add($i)
}
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults){
$objItem = $objResult.Properties;
Write-Host -NoNewLine $objItem.name
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.displayName;
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.sn;
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.whenCreated;
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.createTimeStamp;
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.whenChanged;
Write-Host -NoNewLine "|";
Write-Host -NoNewLine $objItem.modifyTimeStamp;
Write-Host "|";
}
所以我们应该得到的输出为每个查询匹配行,作为行格式如下: 名称|显示名| SN | whenCreated | createTimeStamp | whenChanged | modifyTimeStamp 对不对?
我检查了ADSI Edit中的数据,很多用户都有这些数据;尽管如此,产量为
name1||sn1||||
name2||sn2||||
name3||sn3||||
name4||sn4||||
name5||sn5||||
那些相同的用户,而且也并不比seted这两个领域较为单一线。
任何人都可以帮我弄清楚这里发生了什么吗?
注意:由于服务器的设置,我无法使用Powershell上的ActiveDirectory导入。
感谢您的时间! 弗拉德
不能相信它的工作!只有全部小写的属性名称才有用。当然,我现在想知道如何在自己之前设法不尝试这个。非常感谢你! – Vladimir 2013-05-06 14:05:16
非常欢迎。 – serialhobbyist 2013-05-07 09:50:09