我需要使用PowerShell列出在Active Directory中没有任何数据的NAME字段中的所有用户

我需要列出所有在AD中没有任何条目的用户(例如:smith,jon)

到目前为止,我有下面的东西

Get-ADUser -filter {Name -eq " "} | FT SamAccountName 

我知道这是因为空的报价失败。

基本上我需要一段代码“列出所有有空白名字的用户”

如果还有另外一种方法可以通过PowerShell来实现,或者如果我尝试使用空白引号稍微偏离轨道,请告诉我。

任何帮助表示赞赏。

有几种方法可以解决这个问题:

Get-ADUser -LDAPFilter "(!GivenName=*)" | ft samAccountName

Get-ADUser -Filter * | Where {$_.GivenName -eq $Null -OR $_.Surname -eq $Null -OR $_.Name -eq $Null} | select samAccountName

这应该适合你。

添加了第二个命令来检查是否有任何“名称”字段为空。

如果你希望Name属性为NULL,空或者只包含空格的所有用户,你应该可以这样做:

 Get-ADUser -Filter * | where {[System.string]::IsNullOrEmpty(($_.Name).Trim())} | select sAMAccountName