Eu trabalho como técnico de TI em uma empresa que tem cerca de 600 notebooks Windows 7, distribuídos em 8 países. Usamos o Microsoft SCCM 2012 para gerenciar os clientes.
Temos um problema recorrente com os discos rígidos, eles tendem a acumular centenas de gigabytes no diretório c: \ windows \ temp e, como esses arquivos são criados por processos com privilégios de administrador, os usuários não podem limpá-los.
Então eu criei esse lote que verifica a porcentagem de disco livre e, se for menor que 30%, prossegue com a limpeza:
@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 será executado através do SCCM2012 e deverá ser executado em cada cliente uma vez por mês.
Embora esse lote certamente funcione, alguém tem uma solução mais elegante?
Obrigado