Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Alt26.Alt16. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Освобождаем место на диске, удаляем компоненты Windows Update и ременные файлы

Недавно столкнулся с ситуацией: на одном из серверов системный диск практически «забился» под завязку, а штатные чистилки мусора не помогали – свободного места оставалось критически мало. Оказалось, что куча старых файлов обновлений, временных логов и упаковок пакетов Windows Update съели не меньше 20 ГБ!

Чтобы оперативно и централизованно освободить место на C:, я использовал PowerShell-скрипт для сброса компонентов Windows Update и удаления временных файлов.

Что делает скрипт:

►1) Останавливает службы wuauserv, bits и cryptsvc, чтобы освободить доступ к файлам обновлений.
►2) Переименовывает папки SoftwareDistribution и catroot2 – таким образом Windows создаёт новые «чистые» папки при следующем запуске службы обновлений.
►3) Перезапускает службы, чтобы система могла продолжить получать обновления.
►4) Удаляет старые временные файлы из C:\Windows\Temp и из переменной %TEMP% текущего пользователя.
►5) (Опционально) Очищает папку Prefetch – пригодится, если вы хотите сбросить предзагрузку приложений (иногда помогает ускорить старт служб).
►6) Запускает командлет Optimize-Volume с параметром –ReTrim (важно для SSD, если нужно, или дефрагментацию для HDD), что в итоге дополнительно освобождает свободное пространство и приводит метаданные диска в порядок.

Лайфхак:

– Если вы работаете со множеством серверов, оберните этот скрипт в экспорт модуля или сохраните в виде .ps1, а затем запускайте его через Scheduled Task по расписанию раз в неделю/месяц.

– Можно добавить проверку свободного места перед выполнением очистки, чтобы скрипт запускался, только когда доступно меньше, скажем, 10 ГБ:

Не забывайте тестировать на тестовых окружениях перед тем, как развертывать на продакшне.

Leave a Reply