Get-AdUser,其中mail不为null

时间:2015-01-14 15:43:07

标签: email powershell active-directory

我正在尝试获取AD中具有电子邮件(邮件属性)的所有用户的列表。我有这个命令

Get-AdUser -filter * -Properties mail | Select SAMAccountName, mail | Export-CSV -Path $userPath -NoTypeInformation

问题是我不知道如何限制或过滤掉电子邮件为空/空白的用户。我不关心脚本有多复杂,因为它将成为更大的PowerShell脚本的一部分。如果解决方案是循环通过CSV,这是一个选项,但更喜欢更快。有谁知道怎么做?

3 个答案:

答案 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为标题。然后你会使用:

     

(标题= *)

来源LDAP Query Basics