PowerShell中的DirectorySearch返回值无效

时间:2014-05-14 16:52:53

标签: powershell active-directory directorysearcher

我在使用System.DirectoryServices.DirectorySearcher对象在AD中查找用户信息时遇到问题。第一次运行命令而不是返回结果时,它返回字符串值“System.DirectoryServices.SearchResult”。我在保存此结果的变量上运行了.GetType(),它以字符串形式返回。

第二次,以及随后的所有时间,我运行此脚本,它返回我正在寻找的用户对象。这是我的代码。

$MyDomain = New-Object System.DirectoryServices.DirectoryEntry
$ADSearcher = New-Object System.DirectoryServices.DirectorySearcher

$ADSearcher.SearchRoot = $MyDomain
$ADSearcher.PageSize = 1000
$ADSearcher.SearchScope = "Subtree"

$ADSearcher.Filter = "samaccountname=myaccount"
$User = $ADSearcher.FindOne()

我在2008 R2上运行Powershell 3。

更新:我认为我不清楚它的工作环境。如果我运行一次脚本,并使用FindOne()搜索5个不同的用户,则它们都会错误地返回。如果我立即再次运行程序,它会检索所有5的用户对象。这表明它是环境中的东西,但我肯定无法弄清楚它是什么。我正在ISE中运行脚本。

0 个答案:

没有答案