SlideShare una empresa de Scribd logo
CONFIGURACIÓN Y EJECUCIÓN DE SCRIPT
PARA CREACIÓN MASIVA DE USUARIOS
GESTIÓN DE REDES DE DATOS
SERVICIO NACIONAL DE APRENDIZAJE
YIMY FERNANDO PEREZ MEDINA
Instructora: ISABEL CRISTINA YEPES OCAMPO
Ficha: 464327
1
CONFIGURACIÓN Y EJECUCIÓN DE SCRIPT PARA
CREACIÓN MASIVA DE USUARIOS
Nos basaremos en un script ya programado al cual le haremos cambios para
adecuarlo a nuestras necesidades.
NOTA: Recomendado crear un contenedor para hacer las pruebas del script
(donde se van a crear los respectivos usuarios) en nuestro ejemplo se creó un
contenedor llamado “Script” y dentro de este un sub contenedor llamado
“Usuarios”.
El Script que usaremos va de la mano con un archivo .csv el cual están ambos en
una carpeta la cual pueden descargar de:
https://mega.co.nz/#F!8ApyXJTB!OnPO29lREn2eLNSD9_7tqQ
2
Para editar el Script damos clic derecho, editar, desde nuestro server.
NOTA: Lo pasamos a nuestro Servidor virtual mediante la carpeta compartida.
Usaremos el siguiente script el cual le haremos modificaciones para nuestras
necesidades de usuarios (así se verá sin hacerle ninguna modificación).
###########################################################
# AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl
# DATE : 26-04-2012
# COMMENT : This script creates new Active Directory users
# including different kind of properties based
# on an input_create_ad_users.csv.
###########################################################
Import-Module ActiveDirectory
# Get current directory and set import file in variable
$path = Split-Path -parent $MyInvocation.MyCommand.Definition
$newpath = $path + "import_create_ad_users.csv"
# Define variables
$log = $path + "create_ad_users.log"
$date = Get-Date
$i = 0
# Change this to the location you want the users to be created in your AD
$location = "OU=Test,OU=Users,DC=hican,DC=nl"
# FUNCTIONS
Function createUsers
{
"Created following users (on " + $date + "): " | Out-File $log -append
"--------------------------------------------" | Out-File $log -append
Import-CSV $newpath | ForEach-Object {
# A check for the country, because those were full names and need
# to be landcodes in order for AD to accept them. I used Netherlands
# as example
If($_.CO -eq "Netherlands")
{
$_.CO = "NL"
}
# Replace dots / points (.) in names, because AD will error when a
# name ends with a dot (and it looks cleaner as well)
$replace = $_.CN.Replace(".","")
If($replace.length -lt 4)
{
3
$lastname = $replace
}
Else
{
$lastname = $replace.substring(0,4)
}
# Create sAMAccountName according to this 'naming convention':
# <FirstLetterInitials><FirstFourLettersLastName> for example
# hhica
$sam = $_.Initials.substring(0,1).ToLower() + $lastname.ToLower()
Try { $exists = Get-ADUser -LDAPFilter "(sAMAccountName=$sam)" }
Catch { }
If(!$exists)
{
$i++
# Set all variables according to the table names in the Excel
# sheet / import CSV. The names can differ in every project, but
# if the names change, make sure to change it below as well.
$setpass = ConvertTo-SecureString -AsPlainText $_.Password -force
New-ADUser $sam -GivenName $_.GivenName -Initials $_.Initials `
-Surname $_.SN -DisplayName $_.DisplayName -Office $_.OfficeName `
-Description $_.Description -EmailAddress $_.Mail `
-StreetAddress $_.StreetAddress -City $_.L `
-PostalCode $_.PostalCode -Country $_.CO -UserPrincipalName $_.UPN `
-Company $_.Company -Department $_.Department -EmployeeID $_.ID `
-Title $_.Title -OfficePhone $_.Phone -AccountPassword $setpass
# Set an ExtensionAttribute
$dn = (Get-ADUser $sam).DistinguishedName
$ext = [ADSI]"LDAP://$dn"
If ($_.ExtensionAttribute1 -ne "" -And $_.ExtensionAttribute1 -ne $Null)
{
$ext.Put("extensionAttribute1", $_.ExtensionAttribute1)
$ext.SetInfo()
}
# Move the user to the OU you set above. If you don't want to
# move the user(s) and just create them in the global Users
# OU, comment the string below
Move-ADObject -Identity $dn -TargetPath $location
# Rename the object to a good looking name (otherwise you see
# the 'ugly' shortened sAMAccountNames as a name in AD. This
# can't be set right away (as sAMAccountName) due to the 20
# character restriction
$newdn = (Get-ADUser $sam).DistinguishedName
Rename-ADObject -Identity $newdn -NewName $_.CN
$output = $i.ToString() + ") Name: " + $_.CN + " sAMAccountName: "
$output += $sam + " Pass: " + $_.Password
$output | Out-File $log -append
}
Else
{
"SKIPPED - ALREADY EXISTS OR ERROR: " + $_.CN | Out-File $log -append
}
}
"----------------------------------------" + "`n" | Out-File $log -append
}
# RUN SCRIPT
createUsers
#Finished
Debemos tener mucho cuidado cuando vayamos a comenzar a editar este script,
porque cualquier espacio mal dado, una mala tabulación o borrar algo por error
inmediatamente nos puede generar error.
4
Ahora ya analizado visual y textualmente el script procedemos a explicar y
hacerle modificaciones:
NOTA: - Toda línea que comience con el símbolo # es un comentario y
explicación, este no afecta la ejecución del script.
- De las siguientes imágenes las secciones resaltadas son las partes que
debemos editar y adecuar a nuestras necesidades.
-
El archivo llamado import_create_ad_users.csv es el archivo que contiene sola y
únicamente los datos de los usuarios a crear, este es el nombre exacto del archivo
si se renombra físicamente se debe renombrar también en el script para su
correcta ejecución.
El archivo create_ad_users.log físicamente no lo veremos hasta llevar acabo la
ejecución del script, este archivo contiene logs y pequeños registros del script.
Ahora en la línea $location veremos un tipo de “ruta” la cual especificaremos
donde se van a crear los usuarios ejecutados mediante el script, nótese que la ruta
es en orden jerárquica de derecha a izquierda, primero va el sufijo (com), luego el
dominio (sena), luego el contenedor principal (Script) y dentro del contenedor
principal hay un sub contenedor (Usuarios).
5
En la línea resaltada anteriormente debemos establecer el país y en la parte de
abajo entre comillas la abreviatura de dicho país en mayúsculas.
Este número lo cambiamos de acuerdo a nuestra necesidad que son el número
máximo de caracteres del nombre de usuario.
Lo resaltado anteriormente fue lo sustituido, cambiamos iniciales por el
GivenName, por la información que contiene el archivo .csv.
En esta sección no debemos hacer ninguna modificación, solo debemos agregar
el comando –Enabled $true, que significa que nos cree los usuarios activos y
listos para iniciar sesión con cualquiera de ellos.
6
Ahora lo resaltado en esta sección debemos comentarlo para evitar un error con la
extensión para esto simplemente agregamos el símbolo “#”.
Hasta este punto son las modificaciones del script como tal, ahora procedemos a
explicar la función del archivo .csv.
Este archivo contiene toda la información del usuario; en la primera línea los
parámetros separados por comas y en la segunda línea la información y
respuesta de dichos parámetros (información personal del usuario).
NOTA: podemos crearlo y ejecutarlo en un archivo de Excel para más comodidad
con las columnas sin embargo recuerde que debe ser llamado exactamente igual,
al archivo que llama el script (Archivo .CSV delimitado por comas).
¡ATENCION!
Al guardar un archivo de Excel con la función “guardar como” y seleccionamos
.csv delimitado por comas, nos guardará el archivo pero delimitado con punto y
coma, el cual debemos abrir con un editor de texto (bloc de notas) y reemplazar
todos los “;” por “,”.
7
Ahora corremos el script en nuestro server.
Ahora procedemos a mirar los usuarios creados:

Más contenido relacionado

DOCX
Ad script de usuarios masivos en windows server 2012
DOCX
Script active directory
PDF
Inf 16 (grupal 4) (lectura y desarrollo de un número)
PDF
17 Php. Otras Variables
PPTX
Php1 sesión 6
PDF
19 Php. Utilizando Formularios
PDF
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
PDF
81 Php. Creacion De Tablas
Ad script de usuarios masivos en windows server 2012
Script active directory
Inf 16 (grupal 4) (lectura y desarrollo de un número)
17 Php. Otras Variables
Php1 sesión 6
19 Php. Utilizando Formularios
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
81 Php. Creacion De Tablas

La actualidad más candente (20)

PPTX
Tarea seccio 3_antonio
PDF
Inf 19 (consulya y borrado de datos)
PDF
Inf 14 (ventadellantas) rines
RTF
Wp config.php
DOCX
Script
PDF
Manual php completo by_ desarrolloweb
PPTX
PHP MYSQL - FIEI-UNFV Clase 01
PPT
Php Basico
PDF
16 Php. Variables Predefinidas
PPTX
Exposicion de php
PDF
01 introduccion a java script
PDF
Inf 15 (while y for) tablas de multiplicar
PPTX
3 curso php
PDF
49 Php. Funciones De Usuario
PPTX
Clases de php
PDF
Linux ud3 - redireccionamiento y tuberias
PPTX
Introducción a PHP
PDF
Guia N2 Proyectos Web Php
Tarea seccio 3_antonio
Inf 19 (consulya y borrado de datos)
Inf 14 (ventadellantas) rines
Wp config.php
Script
Manual php completo by_ desarrolloweb
PHP MYSQL - FIEI-UNFV Clase 01
Php Basico
16 Php. Variables Predefinidas
Exposicion de php
01 introduccion a java script
Inf 15 (while y for) tablas de multiplicar
3 curso php
49 Php. Funciones De Usuario
Clases de php
Linux ud3 - redireccionamiento y tuberias
Introducción a PHP
Guia N2 Proyectos Web Php
Publicidad

Similar a Manual script usuarios masivos (20)

DOCX
Script active directory
DOCX
Script active directory1
ODT
Actividad scripts
PDF
Perfiles de usuario Windows Server 2008
PPT
Edición de script para usuarios masivos
PDF
Eq4 c p11 _1_
PDF
Active directory
PDF
Win srv08 ad
PDF
Manual de instalación y administración de active directory en windows server ...
PDF
Manual de instalación de active directory en windows server 2008 r2
PDF
Practica active directory
PDF
Practicaactivedirectory 111128140752-phpapp02
PDF
PDF
PDF
Admin.de usuarion-con-windows nt-y-2003-server
PDF
tareaAdmin.de usuarion-con-windows nt-y-2003-server
DOCX
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
PPTX
Formulario en excel
PPTX
Cuentas de usuario
PPTX
Cuentas de usuario
Script active directory
Script active directory1
Actividad scripts
Perfiles de usuario Windows Server 2008
Edición de script para usuarios masivos
Eq4 c p11 _1_
Active directory
Win srv08 ad
Manual de instalación y administración de active directory en windows server ...
Manual de instalación de active directory en windows server 2008 r2
Practica active directory
Practicaactivedirectory 111128140752-phpapp02
Admin.de usuarion-con-windows nt-y-2003-server
tareaAdmin.de usuarion-con-windows nt-y-2003-server
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
Formulario en excel
Cuentas de usuario
Cuentas de usuario
Publicidad

Más de Yimy Pérez Medina (20)

PDF
PDF
VPN Sitio a Sitio con ENDIAN
PDF
Configuración VPN De Acceso Remoto en TMG
PDF
Instalación y configuración de Firewall ENDIAN
PDF
Instalación y Configuración Microsoft Forefront TMG
PDF
CONFIGURACIÓN FIREWALL ASA EN DISPOSITIVOS ACTIVOS
PDF
Configuración y Documentación de ACL y Firewall ASA
PDF
Plan de continuidad
PDF
Analisis de riesgos y vulnerabilidades
PDF
Autodiagnóstico
PDF
INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DE INSTALACIÓN REMOTA EN WINDOWS WDS
PDF
INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DE INSTALACIÓN PXE
PDF
Actividad topologias
PDF
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE ACTUALIZACIONES EN WINDOWS SERV...
PDF
Manual Monitoreo
PDF
Virtual box guests additions rhel 6.2
PDF
Repositorio local
PDF
Consulta vo ip
PDF
Instalación ssh centos
PDF
Taller wireshark
VPN Sitio a Sitio con ENDIAN
Configuración VPN De Acceso Remoto en TMG
Instalación y configuración de Firewall ENDIAN
Instalación y Configuración Microsoft Forefront TMG
CONFIGURACIÓN FIREWALL ASA EN DISPOSITIVOS ACTIVOS
Configuración y Documentación de ACL y Firewall ASA
Plan de continuidad
Analisis de riesgos y vulnerabilidades
Autodiagnóstico
INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DE INSTALACIÓN REMOTA EN WINDOWS WDS
INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DE INSTALACIÓN PXE
Actividad topologias
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE ACTUALIZACIONES EN WINDOWS SERV...
Manual Monitoreo
Virtual box guests additions rhel 6.2
Repositorio local
Consulta vo ip
Instalación ssh centos
Taller wireshark

Último (20)

PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
clase auditoria informatica 2025.........
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
Que son las redes de computadores y sus partes
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
SAP Transportation Management para LSP, TM140 Col18
Plantilla para Diseño de Narrativas Transmedia.pdf
clase auditoria informatica 2025.........
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
REDES INFORMATICAS REDES INFORMATICAS.pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx
Que son las redes de computadores y sus partes
Estrategia de apoyo tecnología miguel angel solis
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Sesion 1 de microsoft power point - Clase 1
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
historia_web de la creacion de un navegador_presentacion.pptx
Estrategia de apoyo tecnología grado 9-3
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...

Manual script usuarios masivos

  • 1. CONFIGURACIÓN Y EJECUCIÓN DE SCRIPT PARA CREACIÓN MASIVA DE USUARIOS GESTIÓN DE REDES DE DATOS SERVICIO NACIONAL DE APRENDIZAJE YIMY FERNANDO PEREZ MEDINA Instructora: ISABEL CRISTINA YEPES OCAMPO Ficha: 464327
  • 2. 1 CONFIGURACIÓN Y EJECUCIÓN DE SCRIPT PARA CREACIÓN MASIVA DE USUARIOS Nos basaremos en un script ya programado al cual le haremos cambios para adecuarlo a nuestras necesidades. NOTA: Recomendado crear un contenedor para hacer las pruebas del script (donde se van a crear los respectivos usuarios) en nuestro ejemplo se creó un contenedor llamado “Script” y dentro de este un sub contenedor llamado “Usuarios”. El Script que usaremos va de la mano con un archivo .csv el cual están ambos en una carpeta la cual pueden descargar de: https://mega.co.nz/#F!8ApyXJTB!OnPO29lREn2eLNSD9_7tqQ
  • 3. 2 Para editar el Script damos clic derecho, editar, desde nuestro server. NOTA: Lo pasamos a nuestro Servidor virtual mediante la carpeta compartida. Usaremos el siguiente script el cual le haremos modificaciones para nuestras necesidades de usuarios (así se verá sin hacerle ninguna modificación). ########################################################### # AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl # DATE : 26-04-2012 # COMMENT : This script creates new Active Directory users # including different kind of properties based # on an input_create_ad_users.csv. ########################################################### Import-Module ActiveDirectory # Get current directory and set import file in variable $path = Split-Path -parent $MyInvocation.MyCommand.Definition $newpath = $path + "import_create_ad_users.csv" # Define variables $log = $path + "create_ad_users.log" $date = Get-Date $i = 0 # Change this to the location you want the users to be created in your AD $location = "OU=Test,OU=Users,DC=hican,DC=nl" # FUNCTIONS Function createUsers { "Created following users (on " + $date + "): " | Out-File $log -append "--------------------------------------------" | Out-File $log -append Import-CSV $newpath | ForEach-Object { # A check for the country, because those were full names and need # to be landcodes in order for AD to accept them. I used Netherlands # as example If($_.CO -eq "Netherlands") { $_.CO = "NL" } # Replace dots / points (.) in names, because AD will error when a # name ends with a dot (and it looks cleaner as well) $replace = $_.CN.Replace(".","") If($replace.length -lt 4) {
  • 4. 3 $lastname = $replace } Else { $lastname = $replace.substring(0,4) } # Create sAMAccountName according to this 'naming convention': # <FirstLetterInitials><FirstFourLettersLastName> for example # hhica $sam = $_.Initials.substring(0,1).ToLower() + $lastname.ToLower() Try { $exists = Get-ADUser -LDAPFilter "(sAMAccountName=$sam)" } Catch { } If(!$exists) { $i++ # Set all variables according to the table names in the Excel # sheet / import CSV. The names can differ in every project, but # if the names change, make sure to change it below as well. $setpass = ConvertTo-SecureString -AsPlainText $_.Password -force New-ADUser $sam -GivenName $_.GivenName -Initials $_.Initials ` -Surname $_.SN -DisplayName $_.DisplayName -Office $_.OfficeName ` -Description $_.Description -EmailAddress $_.Mail ` -StreetAddress $_.StreetAddress -City $_.L ` -PostalCode $_.PostalCode -Country $_.CO -UserPrincipalName $_.UPN ` -Company $_.Company -Department $_.Department -EmployeeID $_.ID ` -Title $_.Title -OfficePhone $_.Phone -AccountPassword $setpass # Set an ExtensionAttribute $dn = (Get-ADUser $sam).DistinguishedName $ext = [ADSI]"LDAP://$dn" If ($_.ExtensionAttribute1 -ne "" -And $_.ExtensionAttribute1 -ne $Null) { $ext.Put("extensionAttribute1", $_.ExtensionAttribute1) $ext.SetInfo() } # Move the user to the OU you set above. If you don't want to # move the user(s) and just create them in the global Users # OU, comment the string below Move-ADObject -Identity $dn -TargetPath $location # Rename the object to a good looking name (otherwise you see # the 'ugly' shortened sAMAccountNames as a name in AD. This # can't be set right away (as sAMAccountName) due to the 20 # character restriction $newdn = (Get-ADUser $sam).DistinguishedName Rename-ADObject -Identity $newdn -NewName $_.CN $output = $i.ToString() + ") Name: " + $_.CN + " sAMAccountName: " $output += $sam + " Pass: " + $_.Password $output | Out-File $log -append } Else { "SKIPPED - ALREADY EXISTS OR ERROR: " + $_.CN | Out-File $log -append } } "----------------------------------------" + "`n" | Out-File $log -append } # RUN SCRIPT createUsers #Finished Debemos tener mucho cuidado cuando vayamos a comenzar a editar este script, porque cualquier espacio mal dado, una mala tabulación o borrar algo por error inmediatamente nos puede generar error.
  • 5. 4 Ahora ya analizado visual y textualmente el script procedemos a explicar y hacerle modificaciones: NOTA: - Toda línea que comience con el símbolo # es un comentario y explicación, este no afecta la ejecución del script. - De las siguientes imágenes las secciones resaltadas son las partes que debemos editar y adecuar a nuestras necesidades. - El archivo llamado import_create_ad_users.csv es el archivo que contiene sola y únicamente los datos de los usuarios a crear, este es el nombre exacto del archivo si se renombra físicamente se debe renombrar también en el script para su correcta ejecución. El archivo create_ad_users.log físicamente no lo veremos hasta llevar acabo la ejecución del script, este archivo contiene logs y pequeños registros del script. Ahora en la línea $location veremos un tipo de “ruta” la cual especificaremos donde se van a crear los usuarios ejecutados mediante el script, nótese que la ruta es en orden jerárquica de derecha a izquierda, primero va el sufijo (com), luego el dominio (sena), luego el contenedor principal (Script) y dentro del contenedor principal hay un sub contenedor (Usuarios).
  • 6. 5 En la línea resaltada anteriormente debemos establecer el país y en la parte de abajo entre comillas la abreviatura de dicho país en mayúsculas. Este número lo cambiamos de acuerdo a nuestra necesidad que son el número máximo de caracteres del nombre de usuario. Lo resaltado anteriormente fue lo sustituido, cambiamos iniciales por el GivenName, por la información que contiene el archivo .csv. En esta sección no debemos hacer ninguna modificación, solo debemos agregar el comando –Enabled $true, que significa que nos cree los usuarios activos y listos para iniciar sesión con cualquiera de ellos.
  • 7. 6 Ahora lo resaltado en esta sección debemos comentarlo para evitar un error con la extensión para esto simplemente agregamos el símbolo “#”. Hasta este punto son las modificaciones del script como tal, ahora procedemos a explicar la función del archivo .csv. Este archivo contiene toda la información del usuario; en la primera línea los parámetros separados por comas y en la segunda línea la información y respuesta de dichos parámetros (información personal del usuario). NOTA: podemos crearlo y ejecutarlo en un archivo de Excel para más comodidad con las columnas sin embargo recuerde que debe ser llamado exactamente igual, al archivo que llama el script (Archivo .CSV delimitado por comas). ¡ATENCION! Al guardar un archivo de Excel con la función “guardar como” y seleccionamos .csv delimitado por comas, nos guardará el archivo pero delimitado con punto y coma, el cual debemos abrir con un editor de texto (bloc de notas) y reemplazar todos los “;” por “,”.
  • 8. 7 Ahora corremos el script en nuestro server. Ahora procedemos a mirar los usuarios creados: