Administrar usuarios desde la interfaz gráfica de Windows está bien para uno o dos, pero cuando tienes que crear veinte cuentas se vuelve insufrible. PowerShell resuelve esto: con un puñado de comandos gestionas usuarios y grupos, y con un script pequeño creas decenas de cuentas de golpe. Vamos a verlo paso a paso.

Crear un grupo local

Para crear un grupo local se usa el comando New-LocalGroup:

New-LocalGroup Guadix

Esto crea un grupo llamado Guadix. Un grupo es simplemente una forma de organizar usuarios para asignarles permisos en bloque, en vez de uno por uno.

Crear un usuario local

Para crear un usuario se usa New-LocalUser. Si quieres crearlo sin contraseña (por ejemplo, para un entorno de pruebas), añades -NoPassword:

New-LocalUser Grado_Superior -NoPassword

Repites el mismo comando para cada usuario que necesites:

New-LocalUser Grado_Medio -NoPassword

En un entorno real nunca crees usuarios sin contraseña. -NoPassword es cómodo para prácticas de laboratorio, pero en producción usa -Password con una contraseña segura.

Ver qué usuarios pertenecen a un grupo

Para comprobar los miembros de un grupo concreto:

Get-LocalGroupMember Guadix

Si el grupo está recién creado y aún no tiene a nadie, este comando no devuelve nada. Es normal: significa que el grupo existe pero está vacío.

Añadir usuarios a un grupo

Para meter un usuario en un grupo se usa Add-LocalGroupMember:

Add-LocalGroupMember Guadix -Member Grado_Superior

Y puedes añadir varios usuarios a la vez separándolos por comas, en un solo comando:

Add-LocalGroupMember usuarios -Member Grado_Superior, Grado_Medio

Eliminar usuarios y grupos

Para deshacer lo anterior se usan los comandos con el verbo Remove:

Remove-LocalGroup Guadix
Remove-LocalUser Grado_Superior, Grado_Medio

Creación masiva de usuarios desde un CSV

Aquí es donde PowerShell demuestra su valor real. En lugar de crear usuarios uno a uno, puedes leerlos desde un archivo CSV y crearlos todos con un script.

Primero, creas un archivo de texto con extensión .csv (por ejemplo usuarios.csv) con la lista de nombres. Puedes comprobar su contenido desde PowerShell con:

cat C:\Material\usuarios.csv

Luego, un script recorre ese archivo y crea cada usuario automáticamente. La idea general es importar el CSV y recorrerlo con un bucle:

Import-Csv C:\Material\usuarios.csv | ForEach-Object {
    New-LocalUser $_.nombre -NoPassword
}

Al ejecutarlo, se crean todos los usuarios del archivo de una sola pasada. Para eliminarlos de forma masiva, el script es igual de sencillo pero usando Remove-LocalUser dentro del bucle.

Un apunte sobre PowerShell ISE

Para escribir y guardar estos scripts es cómodo usar PowerShell ISE (el editor integrado), abriéndolo como administrador desde la barra de búsqueda. Ahí puedes guardar el script en un archivo .ps1 y reutilizarlo siempre que lo necesites, en vez de reescribir los comandos cada vez.

Resumen rápido

New-LocalGroup y New-LocalUser crean grupos y usuarios; Add-LocalGroupMember los relaciona; Remove-* los elimina. Y cuando el número de cuentas crece, un pequeño script que lee un CSV te ahorra un trabajo enorme frente a hacerlo a mano.