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.
-NoPasswordes cómodo para prácticas de laboratorio, pero en producción usa-Passwordcon 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.