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

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

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

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

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

我知道这会因为空的引号而失败。

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

如果有其他方法可以通过 PowerShell 执行此操作,或者我在尝试空白引号时略有偏离,请告诉我。

任何帮助都将受到赞赏。

答案1

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

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

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

这对你来说应该有用。

添加了第二个命令,它将检查任何“名称”字段是否为空白。

答案2

如果您想要所有Name属性为 NULL、空或仅由空格组成的用户,您应该可以这样做:

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

相关内容