Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Creación masiva de usuarios con PowerShell

Manuel Fco Domínguez Tienda
  • Escrito por Manuel Fco Domínguez Tienda el 24 de Enero de 2019
  • 3 min de lectura | Redes y Sistemas
Creación masiva de usuarios con PowerShell
El reproductor de video será cargado en breves instantes.

Muchas veces necesitamos crear o eliminar una gran cantidad de cuentas de usuarios, para evitar tener que ir creando o eliminando cada cuenta, vamos a ver como hacerlo facilmente utilizando PowerShell una vez.

Cómo crear usuarios de forma masiva con PowerShell

En esta práctica vamos a crear un script que nos permita crear cuentas de usuario y después eliminar las mismas. Para ello vamos abrimos PowerShell ISE como administrador, lo que hacemos desde el menú Inicio buscando la misma y ejecutándola.

Lo primero que tenemos que hacer es crear un fichero en el que se encuentren los usuarios. Para ello, por ejemplo, escribimos en la consola el comando notepad usuarios.csv, con lo que se creará ese archivo usando la aplicación Notepad.

Una vez creado ese archivo vamos a insertar en el mismo una lista con los usuarios y sus contraseñas, pero antes hay que escribir la cabecera, que es obligatoria. En el documento escribimos lo siguiente:

nombre,contra
	usuario01,usuario01
	usuario02,usuario02
	usuario03,usuario03

Una vez hayamos introducido las cabeceras y los usuarios y contraseñas de prueba, guardamos el archivo, recordando que debe tener extensión .csv.

Para comprobar que se ha creado correctamente, en la consola de PowerShell escribimos el comando Get-Content c:\...\usuarios.csv, indicando la ruta en la que hemos guardado el archivo. Una vez ejecutado nos debe aparecer en pantalla el contenido que habíamos guardado en el archivo correspondiente.

Una vez tenemos el archivo creado, el siguiente paso será desarrollar una estructura que nos permita crear usuarios de forma masiva, y que además debe ser una estructura repetitiva. Este script lo haremos en el editor de PowerShell ISE, dónde iremos escribiendo el mismo.

Comenzamos creando un comentario que sea el siguiente:

#Creación de usuarios de forma masiva.

Después vamos a coger los datos, lo que haremos desde el fichero que creamos anteriormente, y eso lo haremos a través de una variable:

$usuarios=Import-Csv -Path c:\...\usuarios.csv

A continuación debemos tratar los datos obtenidos de ese fichero. Lo haremos con una variable de control llamada i y construyendo un comando para crear usuarios con clave.

Para crear un usuario con contraseña se necesita encriptar la misma, lo que se hace con el comando ConvertTo-SecureString, en el que se indica que la contraseña es texto plano y que se fuerce esa encriptación.

Una vez tenemos la contraseña, pasamos a crear el usuario, al que asignamos la contraseña previamente creada e indicamos que nunca expire ni la cuenta ni la contraseña asociada. También hacemos que estos usuarios puedan acceder al escritorio.

foreach  ($i in $usuarios)
	{
		$clave=ConvertTo-SecureString $i.contra -AsPlainText -Force
		New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PassNeverExpires
		Add-LocalGroupMember -Group usuarios -Member $i.nombre
	}

Finalmente el script queda de la siguiente forma:

#Creación de usuarios de forma masiva.
	$usuarios=Import-Csv -Path c:\...\usuarios.csv
	foreach  ($i in $usuarios)
	{
		$clave=ConvertTo-SecureString $i.contra -AsPlainText -Force
		New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PassNeverExpires
		Add-LocalGroupMember -Group usuarios -Member $i.nombre
	}

Vamos a entender paso a paso el mismo. Lo primero que necesitamos es coger los datos de un fichero, lo que hacemos en la línea 2, de forma que lea el archivo indicado y que lea los datos que contiene.

Después, como a cada línea de ese fichero debe crear un usuario, debe ir tomando los datos poco a poco. Para ello toma la contraseña del primer usuario y la convierte en clave segura, crea el usuario con el nombre que aparece en el fichero y le asigna la contraseña ya segura.

Además le genera las opciones de que la cuenta nunca expire y la contraseña tampoco, y lo añade al grupo de usuarios.

Guardamos este script con el nombre creaciondeusuarios.ps1, lo ejecutamos en la consola de PowerShell ISE y comprobamos que se crean los tres usuarios que habíamos indicado inicialmente.

Si queremos comprobar que se han creado correctamente, escribimos el comando get-localuser y nos aparecen los tres usuarios (usuario01, usuario02 y usuario03).

Cómo eliminar usuarios de forma masiva con PowerShell

Vamos a ver cómo eliminar las cuentas de usuario de forma masiva, lo que haremos de forma también muy sencilla.

Para ello vamos a generar el siguiente script:

#Creación de usuarios de forma masiva.
	$usuarios=Import-Csv -Path c:\...\usuarios.csv
	foreach  ($i in $usuarios)
	{
		Remove-LocalUser $i.nombre
	}

Una vez lo tenemos creado lo ejecutamos y comprobamos que ha funcionado. Para ello ejecutamos el comando get-localuser y comprobamos que no aparece ninguno de los usuarios que anteriormente se habían creado.

Si quieres aprender en profundidad PowerShell, puedes hacer el Curso de PowerShell para principiantes de nuestro profesor experto, Manuel Fco Domínguez. 

curso-powershell

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Cómo exportar datos con PowerShell

Cómo exportar datos con PowerShell

Redes y Sistemas

24 de Enero de 2019

Con la consola PowerShell tenemos diferentes formas de trabajar con datos de una forma sencilla. En este artículo vas descubrir como exportar datos utilizando algunos de los potentes comandos que i...

Curso de PowerShell para principiantes

Curso de PowerShell para principiantes

curso

Con este curso aprenderás:

  • Aprenderás a manejarte por la línea de comandos de la PowerShell.
  • Sabrás buscar ayuda cuando la necesites.
  • Conocerás los comandos básicos de la PowerShell.

Duración: 1 hora y 46 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars