Automatización de tareas con el uso de scripts.

Podemos hacer tareas de una manera más rápida gracias al uso de scripts de batch o powershell en el caso de Windows y de bash en el caso de Linux. En el caso de Windows hay muchas cosas que se pueden automatizar como:

Montar y desmontar una unidad de red.

Si usamos una consola podemos usar el comando «net use» pero este comando también lo podemos integrar dentro de un script de batch. En el script poniendo net use <letra unidad> <ubicacion en red> /user:<usuario> <contraseña> se conectara a una unidad de red.

@echo off
net use Z: \\newDC01\test /user:Administrador Welcome1
echo "Se ha conectado una unidad de red."
@pause

Pero si lo que queremos hacer es desconectar podemos usar net use <letra unidad> /delete.

@echo off
net use Z: /delete
echo "Se ha desconectado una unidad de red."
@pause

Listar o matar procesos.

Cuando usamos batch tenemos acceso a los comando tasklist y/o taskkill estos comando son muy potentes ya que permiten la ejecución de una «consulta» preguntando si se esta ejecutando o si esta usando más de una cantidad de memoria RAM, por poner ejemplos.

Para realizar consultas con el comando taskkill o el tasklist usamos el parametro /FI y dentro de comillas ponemos la consulta.

@echo off
echo "muestro procesos"
tasklist /FI "status eq running" /FI "memusage gt 15000"
@pause
@echo off
echo "Voy a matar los procesos que usen mas de 100.000 KB"
taskkill /FI "MEMUSAGE GT 100000"
@pause
Es posible que no se pueda matar ciertos procesos ya que son vitales para el sistema.

El comando findstr.

El comando findstr como dice su nombre permite buscar cadenas de texto dentro de un archivo, de la consola, etc. Gracias a esto podemos hacer un script que ejecute un ping y dependiendo de la salida de este escriba si un servidor esta en ejecucion o no.

@echo off
ping 192.168.10.1 -n 1 > tmp.txt
findstr /c:"TTL" tmp.txt
if %ERRORLEVEL%==0 (
echo "El servidor esta levantado"
) else (
echo "Advertencia newDC01 no esta levantado"
)
del tmp.txt
@pause

También podemos hacer un fichero que entre dentro de los archivos y si encuentra una cadena de texto los copie o los mueva dentro de otra carpeta.

@echo off
echo "Voy a copiar los ficheros que contengan dentro TTL"
findstr /C:TTL /M * > ficheros.txt
for /F %%a in (ficheros.txt) do copy %%a backup
@pause

Deja una respuesta

Tu dirección de correo electrónico no será publicada.