Some time ago, I needed to have a list of all Contacts registered in Active Directory. Knowing that there are a lot of them (numbering at least eighty), getting the data manually was not a viable alternative, particularly knowing that the same objective can be achieved through Powershell. I eventually came up with a solution. To make following it logically easier, I’m going to include commentary on each step:
- First, we need to retrieve Active Directory objects. This is done with the cmdlet
Get-ADObject
- Next, we need to filter those results, based on the type of object. This is done with
-LDAPFilter "objectClass=contact"
- Running this straight will not include email addresses. In order to get those, we add
-Properties "mail"
- I wanted this exported as a file, which is done by the final part of the script:
| Export-CSV filename.csv
All together, the final script looks like this:
Get-ADObject -LDAPFilter "objectClass=contact" -Properties "mail" | Export-CSV filename.csv
When testing it, I noted that each result was listed neatly with Distinguished Name, e-mail address, name, ObjectClass and ObjectGUID in separate rows. In order to get an export that was more readily legible, I replaced Export-CSV with Out-File fillename.txt
, which dumped the result to a text file in much the same way as using >
would in the Windows command line. That script looks like this:
Get-ADObject -LDAPFilter "objectClass=contact" -Properties "mail" | Out-File filename.txt
By posting a comment, you consent to our collecting the information you enter. See privacy policy for more information.