La automatización de tareas administrativas es un aspecto crucial para la gestión eficiente de sistemas operativos Windows, especialmente en entornos corporativos o educativos donde la creación y configuración de múltiples cuentas de usuario es una tarea común. Aunque PowerShell ofrece un conjunto de herramientas modernas y poderosas para la automatización, los scripts de Batch siguen siendo una opción valiosa para realizar tareas en sistemas Windows, gracias a su simplicidad y compatibilidad con versiones antiguas. En este artículo, describimos cómo crear un script de Batch para automatizar la creación de usuarios en Windows, utilizando la información proporcionada en un archivo CSV.
Estructura del Archivo CSV
Consideremos un archivo CSV llamado usuarios.csv
con la siguiente estructura, donde cada campo está separado por punto y coma (;
):
usuario;contraseña;nombre;dni
user1;pass1;Juan Perez;12345678
user2;pass2;Laura Gomez;87654321
user3;pass3;Carlos Ruiz;12348765
Este archivo contiene información esencial para la creación de usuarios, como el nombre de usuario, contraseña (que será reemplazada por el DNI para este ejemplo), nombre completo y DNI.
Script de Batch para Añadir Usuarios
A continuación, presentamos un script de Batch AgregarUsuarios.bat
que procesa el archivo CSV y utiliza comandos de Windows para crear cuentas de usuario, estableciendo el DNI como contraseña.
@echo off
setlocal enabledelayedexpansion
:: Ruta al archivo CSV
set "archivoCSV=usuarios.csv"
:: Verificar si el archivo CSV existe
if not exist "%archivoCSV%" (
echo El archivo %archivoCSV% no existe.
goto :eof
)
:: Leer el archivo CSV línea por línea, omitiendo la primera línea
for /f "skip=1 tokens=1-4 delims=;" %%a in (%archivoCSV%) do (
set "usuario=%%a"
set "contraseña=%%d" :: Usando el DNI como contraseña
set "nombre=%%c"
set "dni=%%d"
:: Verificar si el usuario ya existe
net user !usuario! >nul 2>&1
if errorlevel 1 (
:: Crear el usuario con el DNI como contraseña
net user !usuario! !dni! /add /fullname:"!nombre!" /passwordchg:no
if errorlevel 0 (
echo Usuario !usuario! añadido exitosamente.
) else (
echo Error al añadir usuario !usuario!.
)
) else (
echo El usuario !usuario! ya existe. Omitiendo...
)
)
echo Proceso de añadir usuarios completado.
endlocal
Instrucciones para Ejecutar el Script
- Guardar el Script: Copia el código anterior en un archivo llamado
AgregarUsuarios.bat
. - Ejecutar como Administrador: Para añadir usuarios locales, necesitas permisos de administrador. Haz clic derecho en el archivo
AgregarUsuarios.bat
y selecciona «Ejecutar como administrador».
Notas Importantes
- Este script utiliza el comando
net user
para crear usuarios en el sistema. Es posible que necesites ajustar opciones adicionales según los requisitos específicos de tu entorno. - Establecer el DNI como contraseña puede no ser la práctica más segura. Asegúrate de considerar las políticas de seguridad de tu organización o sistema.
- Los scripts de Batch ofrecen una compatibilidad amplia pero pueden ser limitados en funcionalidad comparados con herramientas más modernas como PowerShell.
Conclusión
La automatización de la creación de usuarios mediante scripts de Batch en Windows es un método eficiente que puede ahorrar tiempo y esfuerzo en la administración de sistemas. Aunque los scripts de Batch pueden no ofrecer todas las capacidades avanzadas de PowerShell, su simplicidad y amplia compatibilidad los hacen una herramienta útil para tareas administrativas rápidas y directas. Este enfoque práctico y directo para la administración de usuarios demuestra cómo incluso las herramientas más básicas pueden ser poderosas en manos de administradores de sistemas experimentados.
![black laptop computer turned on showing computer codes](https://infogonzalez.com/wp-content/uploads/2024/02/pexels-photo-177598-3.jpeg)
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.