Go Premium for a chance to win a PS4. Enter to Win

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

Importing Users via CSV

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
mfishco
Asked:
mfishco
1 Solution
 
SubsunCommented:
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
 
mfishcoAuthor Commented:
Thank you!  Such a small thing taking so much time and energy...
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

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