我正在尝试获取AD中具有电子邮件(邮件属性)的所有用户的列表。我有这个命令
Get-AdUser -filter * -Properties mail | Select SAMAccountName, mail | Export-CSV -Path $userPath -NoTypeInformation
问题是我不知道如何限制或过滤掉电子邮件为空/空白的用户。我不关心脚本有多复杂,因为它将成为更大的PowerShell脚本的一部分。如果解决方案是循环通过CSV,这是一个选项,但更喜欢更快。有谁知道怎么做?
答案 0 :(得分:3)
试试这个:
Get-ADUser -Properties mail | where {$_.mail -ne $null} | Select SAMAccountName, mail | Export-CSV -Path $userPath -NoTypeInformation
答案 1 :(得分:2)
试试这个:
Get-ADUser -Properties mail -Filter {mail -like '*'}
答案 2 :(得分:1)
问题已经得到解答,但对我来说,最简单的方法是依赖LDAP过滤器语法。例如:
Get-ADUser -LDAPFilter "(mail=*)"
" = *"是标准的LDAP运算符:
*(通配符)
使用通配符运算符表示可能等于任何值的值。如果您想查找具有title值的所有对象,可能就是这种情况。 e为标题。然后你会使用:
(标题= *)