# # add_contacts.ps1 # # Written by Carol Wapshere, October 2008 # # Use to create one or more contacts. # If the contact exists already the create command will throw an error, but the attributes will still be updated. # # Instructions: # #Â Â 1. Modify the add_contacts.csv file to include information about the contacts to add. #Â Â Â Â Â The file must have a header row and must include the following fields: #Â Â Â Â Â Â Â Â Â Â Â displayName,sn,givenName,name,mail,telephoneNumber,facsimileTelephoneNumber,mobile,homePhone,streetAddress,company # #Â Â 2. Open the Exchange Management Shell # #Â Â 3. CD to C:\scripts and run add_contacts.ps1.
cat add_contacts.csv > unicode.csv # make utf8
import-csv unicode.csv | foreach {
write-host write-host write-host "Creating contact for " $_.displayName
New-MailContact -ExternalEmailAddress $_.mail -DisplayName $_.displayName -Name $_.name -OrganizationalUnit 'bbhfgg.local/BBH/Contacts' -FirstName $_.givenName -LastName $_.sn
$ldapstring = "LDAP://CN=" + $_.name + ",OU=Contacts,OU=BBH,dc=bbhfgg,dc=local" write-host $ldapstring $contact = [ADSI]$ldapstring
write-host write-host "Setting AD attributes..."
if ($_.displayName -ne "") {  write-host "   displayName: " $_.displayName  $contact.Put("displayName", $_.displayName) }
if ($_.sn -ne "") {  write-host "   sn: " $_.sn  $contact.Put("sn", $_.sn) }
if ($_.givenName -ne "") {  write-host "   givenName: " $_.givenName  $contact.Put("givenName", $_.givenName) }
if ($_.company -ne "") {  write-host "   company: " $_.company  $contact.Put("company", $_.company) }
if ($_.telephoneNumber -ne "") {  write-host "   telephoneNumber: " $_.telephoneNumber  $contact.Put("telephoneNumber", $_.telephoneNumber) }
if ($_.facsimileTelephoneNumber -ne "") {  write-host "   facsimileTelephoneNumber: " $_.facsimileTelephoneNumber  $contact.Put("facsimileTelephoneNumber", $_.facsimileTelephoneNumber) }
if ($_.mobile -ne "") {  write-host "   mobile: " $_.mobile  $contact.Put("mobile", $_.mobile) }
if ($_.homePhone -ne "") {  write-host "   homePhone: " $_.homePhone  $contact.Put("homePhone", $_.homePhone) }
if ($_.streetAddress -ne "") {  write-host "   streetAddress: " $_.streetAddress  $contact.Put("streetAddress", $_.streetAddress) }
$contact.SetInfo()
} | out-file -filepath "c:\scripts\add_contacts.log" -encoding "UNICODE"