You are on page 1of 10

Login

Twittear
noviembre
14
PowerShell: Crear Usuarios desde un CSV
por Santiago Buitrago (ASIR INTRASITE) el 14/11/2012 8:29
Categora: Windows Server
Vamos a ver como podemos ulizar PowerShell para crear usuarios en nuevo Acve Directory importndolos de un CSV, asi que lo primero que ten
CSV con los campos necesarios. Para ello debemos abrir una EXCEL y crear los siguientes campos:
Este arculo los vamos a hacer con los campos bsicos, pero vosotros podis aadir algunos ms (aunque ene sus limitaciones). Yo he aadido lo
userPrincipalName: Nombre Principal del Usuario (UPN)
SamAccountName: Nombre de usuario pre-Windows 2000
Name: Nombre para mostrar
GivenName: Nombre de Pila
SurName: Apellidos
Title: Puesto
Department: Departamento
Company: Organizacin
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
1 de 10 03/11/2014 8:42
Manager: Administrador

Ahora lo que haremos ser cubrir la EXCEL con los datos que tengamos (en mi caso inventados)
Una vez que hemos cubierto los datos en la EXCEL debemos guardarla como CSV (delimitados por comas)
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
2 de 10 03/11/2014 8:42
Ahora comprobamos que el formato del CSV
Desde PowerShell : Import-Csv nombre_csv
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
3 de 10 03/11/2014 8:42
Una vez que hemos vericado que aparentemente todo est correctamente, vamos a revisar el script que ulizaremos para crear los usuarios en n
creado dos dos scripts sencillitos, uno aadiendo nosotros UPN del usuario desde el script y el otro script asignar el UPN a los usuarios directame
UserPrincipalName que hemos creado en el CSV
UPN desde el Fichero CSV

Import-Csv .\Planlla_Usuarios.csv | foreach-object {
New-ADUser -SamAccountName $_.SamAccountName -UserPrincipalName $_.userPrincipalName -Name $_.name -DisplayName $_.name -GivenNam
$_.SurName -Title $_.Title -Manager $_.Manager -Company $_.Company -Department $_.Department -Path "OU=Usuarios,OU=ASIRLAB,DC=asirlab,D
(ConvertTo-SecureString "^*Test_2012;" -AsPlainText -force) -Enabled $True -PasswordNeverExpires $True -PassThru }

UPN desde el Script (tenemos quitar el campo userPrincipalName del csv)

Import-Csv .\Planlla_Usuarios.csv | foreach-object {
$userprinicpalname = $_.SamAccountName + "@asirlab.com"
New-ADUser -SamAccountName $_.SamAccountName -UserPrincipalName $userprinicpalname -Name $_.name -DisplayName $_.name -GivenName
$_.SurName -Title $_.Title -Manager $_.Manager -Company $_.Company -Department $_.Department -Path "OU=Usuarios,OU=ASIRLAB,DC=asirlab,D
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
4 de 10 03/11/2014 8:42
(ConvertTo-SecureString "^*Test_2012;" -AsPlainText -force) -Enabled $True -PasswordNeverExpires $True -PassThru }

Una vez ejecutado el script ya tendremos los usuarios creados en la OU que le hemos indicado en el parmetro -Path

Si queremos aadir ms atributos en el CSV nicamente debemos aadirlos de la siguiente manera: (estos sonlos campos que tenemos disponible
ulizaremos)

[-Name] <string> [-WhatIf] [-Conrm] [-AccountExpiraonDate <dateme>] [-AccountNotDelegated <bool>]
[-AccountPassword <securestring>] [-AllowReversiblePasswordEncrypon <bool>] [-AuthType <ADAuthType> {Negoate | Basic}]
[-CannotChangePassword <bool>] [-Cercates <X509Cercate[]>] [-ChangePasswordAtLogon <bool>] [-City <string>] [-Company
<string>] [-CompoundIdentySupported <bool>] [-Country <string>] [-Credenal <pscredenal>] [-Department <string>]
[-Descripon <string>] [-DisplayName <string>] [-Division <string>] [-EmailAddress <string>] [-EmployeeID <string>]
[-EmployeeNumber <string>] [-Enabled <bool>] [-Fax <string>] [-GivenName <string>] [-HomeDirectory <string>] [-HomeDrive
<string>] [-HomePage <string>] [-HomePhone <string>] [-Inials <string>] [-Instance <ADUser>] [-KerberosEncryponType
<ADKerberosEncryponType> {None | DES | RC4 | AES128 | AES256}] [-LogonWorkstaons <string>] [-Manager <ADUser>] [-MobilePhone
<string>] [-Oce <string>] [-OcePhone <string>] [-Organizaon <string>] [-OtherAributes <hashtable>] [-OtherName
<string>] [-PassThru] [-PasswordNeverExpires <bool>] [-PasswordNotRequired <bool>] [-Path <string>] [-POBox <string>]
[-PostalCode <string>] [-PrincipalsAllowedToDelegateToAccount <ADPrincipal[]>] [-ProlePath <string>] [-SamAccountName
<string>] [-ScriptPath <string>] [-Server <string>] [-ServicePrincipalNames <string[]>] [-SmartcardLogonRequired <bool>] [-State
<string>] [-StreetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegaon <bool>] [-Type <string>]
[-UserPrincipalName <string>] [<CommonParameters>]

Aadimos el nuevo atributo al CSV
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
5 de 10 03/11/2014 8:42
y modicamos el script para aadir el nuevo atributo: -Equeta $_.Equeta

Ejemplo CMDLET (aadiremos el telfono del domicilio)

Import-Csv .\Planlla_Usuarios.csv | foreach-object {
New-ADUser -SamAccountName $_.SamAccountName -UserPrincipalName $_.userPrincipalName -Name $_.name -DisplayName $_.name -GivenNa
$_.HomePhone -SurName $_.SurName -Title $_.Title -Manager $_.Manager -Company $_.Company -Department $_.Department -Path
"OU=Usuarios,OU=ASIRLAB,DC=asirlab,DC=com" -AccountPassword (ConvertTo-SecureString "^*Test_2012;" -AsPlainText -force) -Enabled $True -Pas
-PassThru }

Una vez hayamos ejecutado el script hemos creado el usuario con el nmero de telfono su domicilio (HomePhone)
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
6 de 10 03/11/2014 8:42
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
7 de 10 03/11/2014 8:42

En el script que os muestro tambin aadimos el atributo de Manager, para que funcione correctamente el usuario que aadamos como manager
Acvo. Como podis observar es muy sencillo y muy l, sobre todo cuando queremos congurar cientos usuarios en un

Sino queremos crear el chero CSV manualmente, existen mlples herramientas gratuitas para hacernos la vida ms sencilla, por ejemplo
Esta herramienta adems cuenta con ulidades para revisar ciertas opciones de nuestro AD.

Os adjunto los scrps en PowerShell y una EXCEL con los campos bsicos por si queris ulizarlo como planlla antes de conver
Scripts y CSV Usuarios AD.rar

Espero que les sea de ulidad!!!!
| | 6 Comentario(s)
Como sabis he creado una comunidad tcnica (UCOMSSP) para que todos podamos comparr nuestras inquietudes y experienc
comentarios sobre algn arculo, consultas o dudas las hagis directamente en UCOMSSP (hp://www.ucomsenespanol.com
gracias por vuestra colaboracin
marco
arango.marco@gmail.com
problemas
Muy buena la guia pero tengo este problema al ejecutar los pasos tal como me loindicas en el script si me dieras un consejo lo agradeceria. gracias.
El trmino 'New-ADUser' no se reconoce como nombre de un cmdlet, funcin, archivo de script o programa ejecutable. Compruebe si escribi correctamente el
nombre o, si incluy una ruta
de acceso, compruebe que dicha ruta es correcta e intntelo de nuevo.
el 19/05/2013 22:03
Jorge Borquez
jb_vel@hotmail.com
El trmino 'New-ADUser' no se reconoce como nombre de un cmdlet
Comentarios
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
8 de 10 03/11/2014 8:42
hola,
muy buena guia,pero, me sale el siguiente error
El trmino 'New-ADUser' no se reconoce como nombre de un cmdlet, ojala puedas ayudarme,
muchas gracias.
el 28/07/2014 21:12
Santiago
Respueta
Hola:
Has ejecutado el Mdulo de Active Directory para Windows PowerShell?
Un saludo
Santiago Buitrago (ASIR INTRASITE) el 01/08/2014 18:35
romel
romel.martinez@gmail.com
cambiar atributos usuarios usando powershell
como cambio el atributo de todos los usuarios en el campo Organization company : ext 6666
la extenciones de telfonos en el directorio activo
el 29/08/2014 18:46
Santiago
Respuewsta
Buenos das Romel:
Te respondo al mensaje que has dejado en mi blog, si tu idea es cambiar a todos los usuarios del Dominio o bien los que estn en una OU su nmero de telfono
aqu tienes el cmdlet:
get-aduser -Filter * -SearchBase "ou=usuarios,dc=dominio,dc=com" | Set-ADUser -OfficePhone 1111111111
Tienes sustituir OfficePhone por el atributo que quieras modificar y establecer su valor
Un saludo
Santiago Buitrago (ASIR INTRASITE) el 30/08/2014 11:34
Dino Rivera
drivera@mdh.com.pe
clave de usuario
como pondria una clave distinta para cada usuario
el 19/09/2014 18:39
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
9 de 10 03/11/2014 8:42
Nombre
Email
Ttulo
Cuerpo *
Captcha *
Agregar comentario
PowerShell: Crear Usuarios desde un CSV - Blog ASIR http://blog.asirsl.com/Lists/EntradasDeBlog/Post.aspx?ID=254
10 de 10 03/11/2014 8:42

You might also like