Solved

Add many users to many different groups in Active Directory using Powershell, reading from a tab-delimited file.

Posted on 2009-05-08
3
694 Views
Last Modified: 2012-05-06
I need to assign many users to many groups in Active Directory using a tab-delimited TXT file as the source. I would prefer to use Powershell as I am trying to learn it. Using Powershell v1.0 on Windows XP Sp2. An example of the file I would use is attached.

Much thanks!
Import-CSV.txt
0
Comment
Question by:cnrlzen
3 Comments
 
LVL 71

Accepted Solution

by:
Chris Dent earned 500 total points
ID: 24352520

Morning :)

Weekends are a bit quiet, and very few of us answer PowerShell questions hence the late reply.

I recommend grabbing the Quest PowerShell CmdLets from here:

http://www.quest.com/powershell/

They're free and will make this task a lot simpler. It is, of course, entirely possible to do this in native PowerShell, just longer.

One more note. You'll find that Comma Delimited formatting is easier to deal with than Tab Delimited. With Comma Delimited you can use Import-CSV and refer to each line by the name in the header.

Anyway, Examples...

These are rather verbose, unnecessarily so, but I figured demonstrating was more important than fitting it onto a line.

Chris
# Using Get-Content to read the text file
$FileContent = Get-Content "Test.txt"
 
# Removing the header line by getting elements 1 to end from the array
# Count uses 1 as the base, where an array uses 0; hence "Count - 1"
$FileContent = $FileContent[1..$($FileContent.Count - 1)]
 
# Looping through the Content
ForEach ($Line in $FileContent) {
  # Splitting the line into each element `t is Tab.
  $LineArray = $Line.Split("`t")
 
  # Getting the elements
  $UserDN = $LineArray[0]
  $GroupDN = $LineArray[1]
 
  # Using Add-QADGroupMember to add the member to the group
  Add-QADGroupMember $GroupDN -Member $UserDN -WhatIf
}
 
# If you had a CSV File as input you could do this in one line
# In the example below % is an alias for ForEach-Object
 
Import-CSV "Test.csv" | %{ Add-QADGroupMember $_.memberOf -Member $_.distinguishedName }

Open in new window

0
 

Author Closing Comment

by:cnrlzen
ID: 31579683
That's great - I used a reformatted CSV file and it worked well. How can I log any errors and the successes of each action to a log file so I know where failures might occur?
0

Featured Post

Backup Solution for AWS

Read about how CloudBerry Backup fully integrates your backups with Amazon S3 and Amazon Glacier to provide military-grade encryption and dramatically cut storage costs on any platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article runs through the process of deploying a single EXE application selectively to a group of user.
Did you know that more than 4 billion data records have been recorded as lost or stolen since 2013? It was a staggering number brought to our attention during last week’s ManageEngine webinar, where attendees received a comprehensive look at the ma…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question