Powershell get-aduser不显示所有结果

我试图从AD中获取一些数据,但是我得到了一些令人困惑的结果。 我在跑:

Get-ADUser -Filter * -Properties * | select userPrincipalName, msTSLSProperty01 

它向我展示了所有用户,其中6个在msTSLSProperty01字段中有一些东西。 令人困惑的是,它应该返回42个用户在该领域的东西。 任何原因,显示空白的用户谁在该领域的数据?

编辑1:另外,当我运行时:

 Get-ADUser username -Properties msTSLSProperty01 | select msTSLSProperty01 

它返回和空集。

如果您的环境中有多个DC,那么如果您所期望的更改最近才写入这些用户属性,则可能会看到复制延迟。 Powershell可能会查询一个不同的DC,而不是用来validation这些属性存在的其他工具。 您可以通过Get-ADUser命令中的-Server参数明确告诉PowerShell与特定的DC进行通信。

或者,您可能会遇到权限问题,从而无法为您的用户的子集读取该属性。

作为@ RyanBolger 答案的附录,这个PowerShell脚本将查询每个DC(或者如果他们没有安装ADWS服务,将报告错误)。 这可能足以让您确定哪些服务器缺less这些用户; 或者至less看看哪些服务器不是(也就是限制那些没有ADWS的可能的候选人/通过PS查询时出错的人)。

 clear-host Get-AdDomainController -Filter * | %{ $count = 0 $myError = '' try { $count = (Get-AdUser -Filter * -server $_.Name).Count } catch { $myError = $_.ToString() } (New-Object -TypeName PSObject -Property @{ Name = $_.Name Site = $_.Site OS = $_.OperatingSystem Count = $count Error = $myError }) } | select Name, Count, Site, OS, Error | sort Count, Error, Name | format-table -autosize