Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 9965
  • Last Modified:

Import Distribution Lists from CSV into Exchange 2010

Hello,

I have a CSV file containing entries I would like to add to an Exchange Distribution List using Powershell. I have learned how to create a distribution list using Powershell, but still not sure how to add a list of entries into the Distribution List via Powershell.

I can create a distribution list like this and it works:

New-DistributionGroup -name "ITDepartment" -IgnoreNamingPolicy

Now that I have a Distribution Group, how do I add members into it using Powershell? Here is the structure of my CSV file, and it is located on my c: drive:

<Email>,<FullName>

How can I use PowerShell to add a line entry from this CSV file into the Distribution List I created? Then, how would I use PowerShell to add all entries from the CSV file?

Thanks for your help.

John
2
jhieb
Asked:
jhieb
  • 3
  • 3
2 Solutions
 
Adam BrownSr Solutions ArchitectCommented:
You would utilize the import-csv cmdlet and the add-distributiongroupmember cmdlets together to do this. Adding all the entries is a lot easier than just adding a single line from the CSV, so I'll just give you that one :D

import-csv <csv filename> | foreach {add-distributiongroupmember "ITDepartment" -member $_.email}

Open in new window


Basically, the import-csv cmdlet reads out each entry in the CSV file. The | character is a pipeline that pushes what is read from the import-csv cmdlet into whatever is next. Foreach tells the system that for each line read from the CSV file, do the following. Then we use add-distributiongroupmember against the ITDepartment List and add the member by using the pipelined email variable. $_.<attribute> is what does that.
0
 
jhiebAuthor Commented:
Thanks. I ran the command and it seems to have worked, but my members did not show up in the ITDepartment list. Do I need to delare column headers or something so that PowerShell knows the format of the CSV file? I don't understand how PowerShell will know which values to use, and this part of your example confuses me:

{add-distributiongroupmember "ITDepartment" -member $_.email}

How does this tell PS which columns are what?

Attached, is a sample CSV file.

Thanks.
dlist.txt
0
 
Adam BrownSr Solutions ArchitectCommented:
Yes, you do have to have a header line for the CSV to be readable.
add this to the top line of your CSV:

name,email
0
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

 
jhiebAuthor Commented:
Thanks. That worked and I was able to add two dlist members to the list. I get an error with this command. Do you know how to get rid of this error?



[PS] C:\>import-csv c:\temp\dlist.txt | foreach {add-distributiongroupmember "ITDepartment" -member $_.email}
Cannot validate argument on parameter 'Member'. The argument is null. Supply a non-null argument and try the command ag
ain.
    + CategoryInfo          : InvalidData: (:) [Add-DistributionGroupMember], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Add-DistributionGroupMember

Cannot validate argument on parameter 'Member'. The argument is null. Supply a non-null argument and try the command ag
ain.
    + CategoryInfo          : InvalidData: (:) [Add-DistributionGroupMember], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Add-DistributionGroupMember

[PS] C:\>
0
 
Adam BrownSr Solutions ArchitectCommented:
That means that the value read in from the CSV file didn't have any data in it. If you have any empty lines at the end of your CSV file, or if any line has a name but no email address it will do that.
0
 
jhiebAuthor Commented:
I thought I needed a carriage return after each entry. It looks like all I need is a line entry. Thank you for the help. This works great!
0

Featured Post

Who's Defending Your Organization from Threats?

Protecting against advanced threats requires an IT dream team – a well-oiled machine of people and solutions working together to defend your organization. Download our resource kit today to learn more about the tools you need to build you IT Dream Team!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now