Automatización de Usuarios y Recursos con Scripts Batch

Classified in Other languages

Written on in English with a size of 2.12 KB

Automatización de Grupos y Usuarios

Para realizar la gestión de grupos mediante archivos .bat, utilice el siguiente script:

@echo off
for /f "tokens=5 delims=; skip=1" %%a in (usuarios.csv) do call grupos %%a

Script grupos.bat

@echo off
net localgroup %1
if errorlevel 1 goto crear
if errorlevel 0 goto mostrar
:crear
net localgroup %1 /add
:mostrar
net localgroup
:fin

Creación Masiva de Usuarios

Utilice este script para procesar usuarios desde un archivo CSV:

@echo off
cls
for /f "tokens=1,2,4,5,6,7 delims=; skip=1" %%a in (usuarios.csv) do call crear2 %%a %%b %%c %%d %%e %%f
type errores.txt

Script crearr.bat

net user %1%2
CLS
if errorlevel 1 goto crear
if "%errorlevel%"=="0" echo Fecha:%date% Hora:%time% el usuario %1%2 ya ha sido creado >> errores.txt & goto grupos

:crear
echo a continuación se va a crear el usuario %1%2
net user %1%2 %3 /comment:"%5" /active:%6 /add

:grupos
net localgroup %4

:añadir
net localgroup %4 %1%2 /add
:fin

Gestión de Recursos y Carpetas

Automatice la creación de directorios de empresa:

@echo off
md c:\empresa
for /f "tokens=2 delims=, skip=1" %%A in (recursos.csv) do if not exist C:\Empresa\%%A md C:\Empresa\%%A
tree c:\empresa
pause

Asignación de Permisos

Utilice CACLS para gestionar permisos de acceso:

@echo off
for /f "tokens=1,2,5 delims=; skip=1" %%A in (usuarios.csv) do for /f "tokens=1,2,4 delims=, skip=1" %%D in (recursos.csv) do if "%%D"=="%%C" CACLS c:\Empresa\%%E /e /g %%A%%B:%%F
pause

Eliminación y Limpieza

Scripts para borrar usuarios y limpiar recursos:

@echo off
for /f "tokens=1,2,5 delims=; skip=1" %%A in (usuarios.csv) do call borradordeusuarios.bat
for /f "tokens=2 delims=; skip=1" %%A in (recursos.csv) do if exist c:\Empresa\%1 rd c:\Empresa\%1
pause

Script borradordeusuarios.bat

@echo off
net user %1%2
if errorlevel 1 goto grupo
if "%errorlevel%"=="0" netuser %1%2 /del
:grupo
net localgroup %3
if errorlevel 1 goto fin
if "%errorlevel%"=="0" net localgroup %3 /del
:fin

Related entries: