Solved

Importing Users via CSV

Posted on 2013-01-07
2
806 Views
Last Modified: 2013-01-08
Hello,

I'm making a mistake somewhere in the process of reading a CSV containing user records and using the New-ADUser cmdlet to add them to AD.  I'm running these commands on a patched 2008R2 domain controller.

the csv file is as follows (also attached):

Object_Path,Object_Name,name,samaccountname,userprincipalname,givenname,sn,displayname,company,streetaddress,l,st,postalcode,telephonenumber,facsimiletelephonenumber,homephone,mobile,mail,title,department,physicaldeliveryofficename,info,tempPassword
LDAP://TL,TL,testuser7,testuser7,testuser7@structures.com,Test,User,"Test User 7",testuser7,Address,Greenwood Village,CO,80111,303-555-5555,303-555-5555,303-555-5555,303-555-5555,tuser7@redacted.com,Toady,Custodial,Denver,This is a notes field,abc123456@@@

Open in new window


the script is:

Import-Csv .\test_ad_users2.csv
foreach-object {
	#$password = $_.tempPassword
	New-ADUser `
		-SamAccountName $_.SamAccountName `
		-UserPrincipalName $_.userprinicpalname `
		-DisplayName $_.name `
		-Name $_.name `
		-GivenName $_.cn `
		-SurName $_.sn `
		-Department $_.Department `
		-Path "OU=ImportTest,DC=ifs,DC=local" `
		-AccountPassword (ConvertTo-SecureString "abc123456@@@" -AsPlainText -force) `
		-Enabled $True `
		-PasswordNeverExpires $True `
		-PassThru `
		}

Open in new window


I'm getting the error:

New-ADUser : Cannot validate argument on parameter 'Name'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again.
At C:\adimport\ADMUserCreation.ps1:10 char:8
+         -Name <<<<  $_.name `
    + CategoryInfo          : InvalidData: (:) [New-ADUser], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.NewADUser

I've tried everything I can think of to understand what this message means in my context.  If I run the following I get the name attribute "testuser7" returned:

import-csv c:\adimport\test_ad_users.csv | foreach-object { $_.name}

Open in new window


that tells me the error isn't what it seems to be.  Anyone have any ideas?  Any help would be appreciated.

Thank you.

Mitch
0
Comment
Question by:mfishco
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 40

Accepted Solution

by:
Subsun earned 500 total points
ID: 38753300
In your script, you didn't pipe the Import-Csv output to foreach-object. Try..
Import-Csv C:\test_ad_users2.csv | foreach-object  {
	#$password = $_.tempPassword
	New-ADUser `
		-SamAccountName $_.SamAccountName `
		-UserPrincipalName $_.userprincipalname `
		-DisplayName $_.name `
		-Name $_.name `
		-GivenName $_.cn `
		-SurName $_.sn `
		-Department $_.Department `
		-Path "OU=ImportTest,DC=ifs,DC=local" `
		-AccountPassword (ConvertTo-SecureString "abc123456@@@" -AsPlainText -force) `
		-Enabled $True `
		-PasswordNeverExpires $True `
		-PassThru `
		}

Open in new window

0
 

Author Comment

by:mfishco
ID: 38754993
Thank you!  Such a small thing taking so much time and energy...
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Windows 10 came with  a lot of built in applications, Some organisations leave them there, some will control them using GPO's. This Article is useful for those who do not want to have any applications in their image (example:me).
In previous parts of this Nano Server deployment series, we learned how to create, deploy and configure Nano Server as a Hyper-V host. In this part, we will look for a clustering option. We will create a Hyper-V cluster of 3 Nano Server host nodes w…
The Task Scheduler is a powerful tool that is built into Windows. It allows you to schedule tasks (actions) on a recurring basis, such as hourly, daily, weekly, monthly, at log on, at startup, on idle, etc. This video Micro Tutorial is a brief intro…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

738 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