
Trabajo como técnico de TI en una empresa que tiene aproximadamente 600 portátiles con Windows 7, distribuidos en 8 países. Usamos Microsoft SCCM 2012 para administrar los clientes.
Tenemos un problema recurrente con los discos duros, tienden a acumular cientos de gigabytes en su directorio c:\windows\temp, y como estos archivos son creados por procesos con privilegios de administrador, los usuarios no pueden limpiarlos.
Así que he creado este lote que comprueba el porcentaje de disco libre y si es inferior al 30% continúa con la limpieza:
@echo off
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get Size /format:value`) do set Size=%%x
set FreeMB=%FreeSpace:~0,-6%
set SizeMB=%Size:~0,-6%
set /a Percentage=100 * FreeMB / SizeMB
IF %percentage% LSS 30 del c:\windows\temp\*.* /Q
Este script se ejecutará a través de SCCM2012 y debe ejecutarse en cada cliente una vez al mes.
Si bien este lote seguramente funcionará, ¿alguien tiene una solución más elegante?
Gracias