我需要列出 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