LDAP queries are extremely powerful and can help find accounts that are missing information.
This code would return all Active Directory users that actually have a mail address:- $searcher = [ADSISearcher]"(&(sAMAccountType=$(0x30000000))(mail=*))"
- $searcher.FindAll() |
- ForEach-Object { $_.GetDirectoryEntry() } |
- Select-Object -Property sAMAccountName, name, mail
复制代码 If you want the opposite, negate the query using "!". This would return all Active Directory user accounts that currently have no mail address:- $searcher = [ADSISearcher]"(&(sAMAccountType=$(0x30000000))(!(mail=*)))"
- $searcher.FindAll() |
- ForEach-Object { $_.GetDirectoryEntry() } |
- Select-Object -Property sAMAccountName, name, mail
复制代码 http://powershell.com/cs/blogs/tips/archive/2013/11/12/finding-active-directory-users-with-missing-mail-address.aspx |