
Я работаю IT-специалистом в компании, у которой около 600 ноутбуков с Windows 7, распределенных по 8 странам. Мы используем Microsoft SCCM 2012 для управления клиентами.
У нас периодически возникает проблема с жесткими дисками: в их каталоге c:\windows\temp скапливаются сотни гигабайт данных, и поскольку эти файлы создаются процессами с правами администратора, пользователи не могут их очистить.
Поэтому я создал этот пакет, который проверяет процент свободного места на диске, и если он меньше 30%, он приступает к очистке:
@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
этот скрипт будет запущен через SCCM2012 и должен запускаться на каждом клиенте один раз в месяц.
Хотя эта партия наверняка будет работать, есть ли у кого-нибудь более элегантное решение?
Спасибо