Está en la página 1de 5

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. 

También podría gustarte