Link to home
Create AccountLog in
Avatar of Mike Dias
Mike Dias

asked on

Powershell - Batch Locate AD User Object > Object Tab

I have over 80 users that I need to locate their OU container name, in preparation to move them to one container.

The users are in a txt and CSV file.

Is there a PS script that will process the check and move?
Avatar of Alan
Flag of New Zealand image

Hi Mike,

It would be easier if you could post a sample of the csv file (just perhaps three rows, and feel free to obfuscate as long as you don't change the structure of the data).


Avatar of Mike Dias
Mike Dias


The CSV has 1 cell - A1 with the AD user's username i.e. firstname.lastname. There are over 80 such users, from A1 to A83..

You could create the same effect with cell A1 with "test.user1," "test.user2," ... "test.user3" etc. It'd be the same.

Hope this helps.
Okay - that format is not what I would expect for a CSV file.

Where did it come from?

Hi Alan. The source was from a department  that assumed control of a number of users. They've only provided me with their names. I asked for more specific data and was given their usernames.
I think you'll need to convert it to a standard CSV format before you can use it.
Ok. So I need a solution.

How do I script this in Powershell?
Hi Mike,

As I said, the first thing you need to do is fix the CSV file so it is in a more 'standard' format.

One way to check that is to open it in Excel (if you have that available), and see if it comes out 'nicely'.

What you posted above definitely does not.  The first element has a quote mark in front of it, and the subsequent elements have a leading space.  Those will cause PowerShell to fail to find the users, since the identifier won't match.

If you have Excel, open the attached - see how it comes out?

Hi Alan.

The CSV has 1 cell - A1 with the AD user's username i.e. firstname.lastname

There are no inverted commas, or spaces before or after. That was an expression I used above. The cell A1 is test.user1 cell A2 is test.user2 and so on.
Hi Mike,

I copied what you posted:

"test.user1," "test.user2," ... "test.user3"

I took out the three dots as I assumed you meant it went on in the same format, and then created a CSV file using that format as attached (just re-did it again in case I made a mistake before).

If you open this in Excel, do you see the leading quote mark, and the leading spaces in each cell from the second one on?

Maybe I am missing something obvious here, but it does not appear to be a standard CSV format to me, and hence I cannot see how PowerShell will be able to parse it and match to actual usernames.

Having a single column in a file makes it just a text file ;-). A CSV has more than one column.
We can treat both formats easily. What we need to know is whether there is a header line or not.
Avatar of Qlemo
Flag of Germany image

Link to home
Create an account to see this answer
Signing up is free. No credit card required.
Create Account

Does that work for you with the sample data file above (renamed as users.txt)?

Certainly not with your last one, but that has been indicated as not being correct anyway.
Hi Qlemo,

The OP specifically said that *is* the format of the CSV file.

What makes you say otherwise?


#a42347377 says so, Alan. It's just a file with one name per line.
Okay - I'm going to leave this guy with you.

Seems like they went out of their way to make things difficult for no good reason.

Good luck.

Concise answer. Simple to use.