Удалить временные файлы windows server

Утилита очистки диска (Disk Cleanup) позволяет администратору быстро очистить системный диск Windows Server, удалив ненужные и временные файлы, в том числе очистить каталог WinSxS от файлов устаревших компонентов, которые остались после установки обновлений. Утилита Disk Cleanup (cleanmgr.exe) по умолчанию уже установлена в графической версии Windows Server 2016/2019 (Desktop Experience), однако в предыдущих версиях Windows Server (2012 R2/ 2012/ 2008 R2) утилита cleanmgr.exe по-умолчанию отсутствует.

Содержание:

  • Очистка диска с помощью Disk Cleanup в Windows Server 2016
  • Очистка диска с помощью cleanmgr.exe из командной строки
  • Запуск cleanmgr в Windows Server 2012 R2/ 2008 R2 без установки Desktop Experience
  • Использование Disk Cleanup в Windows Server Core

Очистка диска с помощью Disk Cleanup в Windows Server 2016

Чтобы очистить системный диск от ненужных файлов в Windows Server 2016 с помощью утилиты Disk Cleanup, нужно в File Explorer открыть свойства диска и нажать кнопку Disk Cleanup.

Утилита очистки диска disk cleanup в windows server

Также можно в поисковой строке набрать «disk cleanup» или cleanmgr.exe.

Выберите диск, который вы хотите очистить.

Дождитесь пока мастер очистки проверит ваш диск и найдет ненужные файлы, которые можно безболезненно удалить.

Вы можете выбрать компоненты, файлы которых можно удалить. Вам предлагается удалить следующие временные файлы:

  • Setup Log Files
  • Downloaded Program Files
  • Temporary Internet Files
  • Recycle Bin
  • Temporary files
  • Thumbnails

Чтобы удалить ненужные системные файлы нажмите на кнопку Clean up system files.

Дополнительно предлагается очистить:

  • Устаревшие файлы Windows Defender
  • System archived Windows Error Reporting (каталог C:\ProgramData\Microsoft\Windows\WER\ReportQueue)
  • System queued Windows Error Reporting
  • Device driver packages
  • Windows Update Cleanup — при этом выполняется очистка хранилища компонентов в каталоге WinSxS. Удаляются старые версии компонентов, которые остались после установки обновленных версий.

Выберите нужные опции, при этом Disk Cleanup покажет количество места, которое освободится. Нажмите Ок и подтвердите удаление временных файлов.

Дождитесь, пока утилита cleanmgr.exe удалит ненужные файлы.

Очистка диска с помощью cleanmgr.exe из командной строки

Утилита
cleanmgr.exe
имеет различные параметры командной строки, которые позволяют использовать ее в различных сценариях автоматической очистки системного диска. Их можно использовать как в Windows Server, так и на рабочих станциях пользователей с Windows 10.

cleanmgr [/d driveletter] [/SAGESET:n | /SAGERUN:n | TUNEUP:n | /LOWDISK | /VERYLOWDISK | /SETUP | /AUTOCLEAN]

параметры утилиты cleanmgr.exe в командной строке

Ключ
/AUTOCLEAN
используется для очистки старых файлов, оставшихся после апгрейда билда Windows. Параметр
/SETUP
позволяет удалить файлы, оставшиеся от предыдущей версии Windows (если вы выполняли in-place upgrade).

Команда
cleanmgr /LOWDISK
– запускает графический интерфейс Disk Cleanup с уже выбранными параметрами очистки.

cleanmgr.exe /LOWDISK

Команда
cleanmgr /VERYLOWDISK
выполняет автоматическую очистку, а после окончания оторажает информацией о выполненных действиях и свободном месте.

You have successfully resolved the low disk space condition. Your C:\ volume now has 10000 Mb of free space remaining.

С помощью параметров
/sageset:n
и
/sagerun:n
вы можете создать и выполнить настроенный набор параметров очистки.

Например, выполните команду
cleanmgr /sageset:11
. В открывшемся окне выберите компоненты и файлы, которые нужно автоматически очищать (я выбрал все опции).

Эти настройки сохраняются в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches. В этой ветке перечислены все компоненты Windows, которые можно очистить с помощью Disk Cleanup. Для каждой опции, которую вы выбрали создается параметр типа DWORD с именем StateFlags0011 (
0011
это число, которое вы указали в параметре sageset).

настройки cleanmgr в реестре ветка VolumeCache, параметр stateflags

Чтобы запустить процесс очистки с выбранными параметрами, выполните команду:

cleanmgr /sagerun:11

Если вам нужно настроить автоматическую очистку дисков на компьютерах (или серверах) в домене, вам достаточно экспортировать эту ветку реестра и распространить ее через GPO.

Для автоматического запуска очистки системного диска на рабочих станциях с Windows 10 можно создать задание в планировщике со следующим PowerShell скриптом:

Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:11' -WindowStyle Hidden -Wait

Запуск cleanmgr в Windows Server 2012 R2/ 2008 R2 без установки Desktop Experience

В Windows Server 2012 / R2 и 2008 /R2 по умолчанию не установлена утилита очистки диска Disk Cleanup (cleanmgr.exe). Чтобы воспользоваться утилитой cleanmgr сначала нужно установить отдельный компонент сервера Desktop Experience (Возможности рабочего стола) с помощью Server Manager или PowerShell (
Install-WindowsFeature Desktop-Experience
).

Но вместе с Desktop Experience устанавливается множество других компонентов, которые абсолютно не нужны на сервере:

Компонент Desktop Experience

  • Windows Media Player
  • Темы рабочего стола
  • Поддержка AVI для Windows
  • Windows SideShow
  • Windows Defender
  • Disk Cleanup
  • Sync Center
  • Запись звука
  • Character Map
  • Snipping Tool

Для запуска мастера очистки дисков в Windows Server можно воспользоваться более простым методом: достаточно скопировать в системный каталог два файла из каталога WinSxS: Cleanmgr.exe и Cleanmgr.exe.mui. Ниже представлены команды для копирования файлов cleanmgr из каталога WinSxS для разных версий Windows Server (во всех случаях используется путь для английских редакций ОC).

ОС Команда копирования файлов cleanmgr
Windows Server 2008 R2 x64 copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2008 x64 copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2012 x64 copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe C:\Windows\System32\

copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui C:\Windows\System32\en-US\

Windows Server 2012 R2 x64

Рассмотренный выше трюк не работает в Windows Server 2012 R2 из-за изменений, внесенных обновлением KB2821895. Дело в том, что после установки данного обновления для хранения бинарных файлов компонентов стала использоваться компрессия. При попытке запустить скопированный cleanmgr.exe появляется ошибка:

The Program or feature \??\C:\Windows\system32\cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of Windows

The Program or feature \??\C:\Windows\system32\cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of windows

В качестве обходного решения можно воспользоваться такой методикой:

  1. Установить компонент Windows Desktop Experience:
    Install-WindowsFeature Desktop-Experience
  2. Перезагрузить сервер;
  3. Скопировать файлы %windir%\system32\cleanmgr.exe и %windir%\system32\en-US\cleanmgr.exe.mui в произвольный каталог (c:\temp)
  4. Удалить компонент:
    Uninstall-WindowsFeature Desktop-Experience
  5. Перезагрузка;
  6. Скопировать файлы cleanmgr.exe и cleanmgr.exe.mui в указанные выше каталоги

В дальнейшем эти два файла можно скопировать и на все другие сервера или интегрировать в шаблоны виртуальных машин с Windows Server 2012 R2.

Ссылка на скачивание готового комплекта файлов cleanmgr.exe.mui + cleanmgr.exe для Windows Server 2012 R2 на ЯндексДиске (thks Alex Kornev).

Для запуска утилиты очистки диска теперь достаточно выполнять с правами администратора команду
cleanmgr.exe
.

copy cleanmgr.exe.mui

Совет. Для очистки устаревших файлов компонентов, оставшихся после установки обновлений, в Windows Server R2 можно воспользоваться командой DISM:

dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

В Windows Server 2008 R2, чтобы cleanmgr могла удалять устаревшие файлы обновлений нужно установить отдельный патч KB2852386.

Использование Disk Cleanup в Windows Server Core

В Windows Server Core 2016, в котором отсутствует полноценный графический интерфейс, утилита Disk Cleanup также не установлена. Если вы хотите использовать cleanmgr.exe для очистки диска в Server Core, достаточно скопировать следующие файлы из каталога WinSXS:

copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_10.0.14393.0_none_9ab8a1dc743e759a\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_10.0.14393.0_en-us_8b4adb68af596a23\cleanmgr.exe.mui C:\Windows\System32\en-US\

То же самое с предыдущим Windows версия, раздел диска в Windows Server 2019 не хватает места на диске, тоже. На диски данных, которые используются для резервного копирования или проектов, вы можете передавать файлы и изменять расположение вывода файлов на другие диски. Но к системному диску С это гораздо сложнее. В этой статье рассказывается, как освободить место на диске в Windows Server 2019 с помощью очистки диска и других методов, вы можете освободить место на диске C. Если вы не можете освободить достаточно свободного места, вам лучше добавить больше из других разделов.

Содержание:

  • Run Windows Server 2019 Утилита очистки диска
  • Дополнительные возможности по освобождению дискового пространства
  • Добавьте больше свободного места на диск C

Run Windows Server 2019 Утилита очистки диска

То же самое с предыдущими версиями, Windows Server 2019 имеет встроенную утилиту «Очистка диска», помогающую освободить место на диске. Он может сканировать и удалять большинство ненужных и ненужных файлов на вашем диске. Я использую очистку диска от Windows XP, чей графический интерфейс и шаги остаются неизменными в течение 10 лет. Мне до сих пор нравится пользоваться этим родным инструментом, потому что он простой и быстрый, а самое главное безопасный.

Как освободить место на диске в Windows Server 2019 через инструмент очистки диска:

  1. Press Windows и R вместе на клавиатуре наберите cleanmgr и нажмите Enter.
  2. Выберите диск C: в раскрывающемся списке и нажмите кнопку ОК.
  3. Установите флажки для файлов, которые вы хотите удалить.
  4. Нажмите OK, и очистка диска начнет очищать ненужные файлы.

Если вы не хотите каждый раз выбирать файлы вручную, выполните следующие действия: очистить с помощью команды автоматически.

Мой тестовый сервер установлен недавно, поэтому нужно очистить несколько ненужных файлов. На серверах, которые работают долго, но никогда не очищают диск, вы получите гораздо больше свободного места. Если вы не можете получить более 20 ГБ свободного места, вы можете попробовать дополнительные методы, описанные ниже.

Дополнительные опции для освобождения дискового пространства в Windows Server 2019

1. Удалить теневые копии

Если вы включили теневое копирование, вы можете удалить предыдущие копии.

  1. Открыть окно проводника
  2. Щелкните правой кнопкой мыши диск C и выберите НЕДВИЖИМОСТИ
    , а затем переключитесь на Теневые копии.
  3. Выберите предыдущие копии и нажмите Удалить сейчас.

2. Сбросить корзину

Все файлы, которые были удалены нажатием клавиши DEL без клавиши SHIFT, попадут в корзину, где вы можете вручную вернуть эти файлы в исходное местоположение, если удалили их по ошибке. По умолчанию в корзине используется часть пространства диска C, поэтому больше файлов в корзине означает меньше свободного места на диске C.

Вы можете изменить расположение корзины на другой большой раздел.

  1. Щелкните правой кнопкой мыши Корзина.
  2. Выберите диск для корзины.
  3. Выберите размер клиента и введите сумму.

3. Сбросить файл страницы

Файл подкачки использует часть дискового пространства в качестве виртуальной памяти и по умолчанию находится на диске C. Вы можете изменить его на другой раздел, когда диск C заканчивается. шаги:

  1. Press Windows и R на клавиатуре, чтобы запустить Run.
  2. Тип sysdm.cpl, 3 и нажмите Enter.
  3. Нажмите Настройки под выступлением в Фильтр меню.
  4. Нажмите Изменить под виртуальной памятью.
  5. Снимите флажок Автоматически управлять размером файла подкачки для всех дисков в верхней части.
  6. Выберите D: или другой диск, введите количество начального размера и максимального размера в Размер клиента переключатель, а затем нажмите Поставьте.
  7. Выберите C: диск и выберите Нет файла подкачки переключатель, затем нажмите Set.
  8. Нажмите OK, (Может потребоваться перезагрузка, чтобы повлиять)

4. Удаление приложений

Вы можете удалить некоторые программы, которые вы больше не используете или которые были предварительно установлены на вашем компьютере от производителя. шаги:

  1. Откройте Настройки
  2. Нажмите Мини аппы > Приложения и возможности
  3. Нажмите на элементы, которые вы хотите удалить, и нажмите Удалить.

5. Сохранить файлы в новом месте

Вы можете изменить места сохранения по умолчанию для приложений, документов, музыки, изображений и видео в другое место, чтобы новые типы файлов были сохранены в других разделах.

  1. Откройте Настройки.
  2. Нажмите СистемаПамять.
  3. В разделе «Дополнительные настройки хранилища» нажмите Изменение, где сохраняется новый контент.
  4. Нажмите раскрывающееся меню, чтобы выбрать новое местоположение.

6. Изменить расположение вывода

Все программы установлены на диск C по умолчанию, и многие из них выводят туда файлы. Программы для видео и проектов, а также некоторые Windows сервисы выводят много больших файлов, поэтому лучше изменить расположение вывода по умолчанию на другие большие диски.

7. Включите смысл хранения

Хранение Sense может автоматически освобождать дисковое пространство, когда на диске не хватает места. Он может удалять временные файлы и файлы в корзине и папке загрузок. Чтобы включить Storage Sense в Windows Server 2019:

  1. Откройте Настройки
  2. Перейдите на Система > Память
  3. Выключите и включите под Storage Sense на правой стороне.

Добавить больше свободного места из других разделов

Если вы выполните поиск в Google, вы можете найти более 10 способов освободить место в Windows Server 2019/2022. Конечно, вы можете попробовать все из них, если у вас много времени. Но чтобы получить достаточно свободного места на диске C, наиболее эффективным методом является движущееся свободное пространство с других разделов.

Разделы уже выделены, но вы можете изменить размер раздела без потери данных. Запустите программное обеспечение для создания безопасных разделов, чтобы уменьшить большую перегородку и получить нераспределенное пространство на том же диске. Затем добавить нераспределенное пространство на диск C. Таким образом, на диске C снова будет много свободного места, операционная система, программы и все остальное останется прежним.

Скачать NIUBI Partition Editor и следуйте инструкциям в видео:

Video Server 2019

  • Это программное обеспечение предназначено для работы в виртуальном режиме, реальные разделы диска не будут изменены до щелчка Применить , чтобы подтвердить действие.
  • Если вы используете какие-либо типы оборудования RAID массивы, не разбивайте массив и не выполняйте никаких операций с ним RAID контроллер, просто следуйте инструкциям в видео.
  • Если весь диск заполнен, выполните следующие действия. клонировать диск на больший и добавьте дополнительное место на диск C.

Помимо сокращения и расширения перегородок, NIUBI Partition Editor помогает выполнять многие другие операции по управлению дисками и разделами.

Скачать

Чем дольше вы используете сервер, тем меньше свободного места остается на системном диске C:. Обновления Windows, системные службы, приложения, кеш и многие другие файлы очень быстро съедают свободное место. Однажды системный диск C заполнится и станет красным в проводнике.

C диск красный

В этой ситуации лучше освободить место на диске в Windows 2012 server как можно быстрее. В противном случае этот сервер станет медленным, зависнет или даже выйдет из строя, если диск C полностью заполнен. Чтобы очистить диск C в Windows Server 2012 R2, вы можете использовать либо собственный инструмент очистки диска, либо стороннее программное обеспечение для оптимизации. Но я всегда рекомендую собственный инструмент очистки диска Windows, потому что он безопасен, быстр и способен удалять большинство типов ненужных файлов.

В отличие от других версий Windows, Очистка диска в Server 2012 по умолчанию не включен. Когда вы щелкаете правой кнопкой мыши по мало места на диске C в проводнике вы не увидите кнопку «Очистка».

нет очистки

Если вы попытаетесь запустить из «Выполнить», вы получите сообщение об ошибке: Windows не может найти cleanmgr. Убедитесь, что вы правильно ввели имя, а затем повторите попытку..

ошибка очистки

Перед освобождением места на диске в Windows Server 2012 R2 следует включить или установить утилиту очистки диска.

Как включить/установить очистку диска в Windows Server 2012

Шаг 1: Нажмите Диспетчер серверов в левом нижнем углу нажмите второй вариант «Добавить роли и функции».

менеджер сервера

Шаг 2: Нажмите Следующая пока не увидишь Особенности.

Добавить роли

Шаг 3: Установите флажок напротив «Рабочий стол«И нажмите Следующая.

Выберите для установки

Шаг 4: В течение нескольких минут, установка завершена, нажмите Закрыто.

Установка завершена

Шаг 5: Перезапустите сервер, чтобы завершить добавление функций.

Rebooting

После загрузки на рабочий стол, щелкнув правой кнопкой мыши диск C в проводнике, вы увидите утилиту очистки.

очистка диска

Другим способом является нажатие WindowsR на клавиатуре, чтобы начать с Run, напишите cleanmgr, Очистка диска будет запущена.

cleanmgr

Как освободить место в Windows Server 2012 R2

Шаг 1: используйте любой из описанных выше способов, чтобы открыть Очистку диска.

выбрать файлы

Шаг 2: установите флажок напротив файлов, которые вы хотите удалить, и нажмите кнопку ОК. Нажмите на каждый тип файлов, вы увидите соответствующее описание внизу. В общем, все типы файлов могут быть выбраны для безопасного удаления. Однако вам лучше прочитать описание, а затем решить, удалять их или нет.

Шаг 3: Подтвердите, если вы хотите очистить эти файлы.

Шаг 4: повторите с шага 1 и нажмите Очистить системные файлы на этапе 2.

Очистка диска — отличный инструмент для освобождения места в Windows Server 2012 (r2). Он может очищать многие типы файлов, такие как временные файлы Интернета, файлы в корзине, временные файлы, файлы журналов, эскизы и файлы отчетов об ошибках Windows. Я не предлагаю удалять файлы с помощью стороннего программного обеспечения, потому что некоторые люди сообщали о проблемах после использования этого программного обеспечения.

Расширьте диск C после освобождения места на диске

Администратор сервера с более чем 15-летним опытом работы говорит, что лучший способ решить проблему нехватки места на диске — расширить диск C:, потому что:

  1. Удаление всех ненужных файлов требует слишком много времени.
  2. В большинстве случаев вы не получите большого количества свободного места.
  3. Существует потенциальный риск потери данных или выхода из строя сервера, если вы попробуете некоторые методы, с которыми вы не знакомы.
  4. На сервере через короткое время снова заканчивается место на диске.

В программное обеспечение серверного раздела, вы можете расширить диск С с помощью перемещение свободного пространства из других разделов. Ваша операционная система, программы и все остальное остаются такими же, как и прежде. Если ваш системный диск невелик, вы можете клонировать диск на больший и расширить диск C дополнительным дисковым пространством.

Как увеличить свободное место на диске C:

Помимо сжатия и расширения разделов в Windows Server 2003/2008/2012/2016/2019/2022, этот инструмент помогает вам выполнять множество других операций по управлению разделами диска. Например: перемещение местоположения раздела, клонирование диска/раздела, преобразование типа диска/раздела, дефрагментация, очистка, скрытие раздела, сканирование поврежденных секторов, оптимизация файловой системы и т. д.

Подробнее Скачать

Очищаем профили пользователей Windows (RDS) от временных файлов и кэша с помощью PowerShell и GPO

Довольно частая проблема, с которой сталкиваются администраторы терминальных (RDS) ферм Windows Server – нехватка места на системном диске, вызванная большим размером пользовательских данных. В этой статье показано, как настроить автоматическую очистку корзины, папки Загрузки (Downloads), временных папок Temp и папок кэша пользователей в Windows с помощью PowerShell скриптов и групповых политик.

Автоматическая очистка папок Temp и Downloads с помощью Windows Storage Space

В Windows Server 2019/2022 и Windows 10/11 вы можете использовать встроенную функцию Storage Sense (Контроль памяти) для автоматического удаления старых и временных файлов. Для нее есть отдельные параметры GPO, которые позволяют включить очистку папок Temp и Downloads.

очистка диска в Windows с помощью Storage Sense

Очистка корзины пользователей Windows

На хосте Windows по умолчанию включена корзина для удаленных файлов ( $Recycle.Bin ). На RDS хосте в этом каталоге будет находится индивидуальная папка корзины для каждого пользователя (с SID пользователя в качестве имени). Со временем вы заметите, что суммарный размер файлов в корзине всех пользователей станет занимать значительную часть места диска RDS сервера.

По умолчанию размер корзины в Windows составляет около 5% от размера диска. Вы можете изменить максимальный размер корзины на каждом диске в ее свойствах. Здесь же можно полностью отключить корзину с помощью опции Don’t move files to the Recycle Bin.

Однако это изменит настройки корзины только для текущего пользователя.

Вы можете задать максимальный размер корзины для пользователей через параметр групповой политики Maximum recycle bin size allowed в разделе User Configuration -> Administrative Templates -> Windows Components -> File Explorer. Максимальный размер корзины задается в процентах от размер диска. Если задать здесь 0, корзина будет отключена для всех дисков.

Изменить настройки корзины через GPO

Для очистки корзины в Windows можно использовать командлет Clear-RecycleBin (доступен начиная с версии PowerShell 5.1 в Win 10). Для очистки корзины без запроса, выполните команду:

Clear-RecycleBin -Force

При запуске этой команды на RDS сервере от имени простого пользователя, будет очищена только корзина текущего пользователя. Можно добавить эту команду в логоф скрипт GPO, чтобы корзина очищалась при выходе пользователя:

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -Command Clear-RecycleBin -Confirm:$false

Для предыдущих версий Windows (со старыми версиями PowerShell) можно использовать такой скрипт:

$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | %{Remove-Item $_.Path -Recurse -Confirm:$false}

PowerShell скрипт для очистки папок Temp, Downloads, кэша в профиле пользователя

Рассмотрим небольшой PowerShell скрипт для очистки содержимого папок Temp, Downloads и некоторых других временных папок в профиле пользователя на RDS или обычном компьютере Windows.

Комментарии к скрипту:

  • В этом примере мы будем удалять файлы старше 14 дней в папке Downloads (вы можете изменить эту настройку). Остальные папки с кэшем и временными файлами очищаются полностью;
  • Скрипт предназначен для запуска от имени текущего пользователя (скрипт удаляет старые файлы при выходе пользователя из Windows и запускается как GPO логофф скрипт);

При использовании на RDS сервере нужно убедиться, что пользователи пользуются кнопкой Sign-out/Logoff для завершения сеанса. Дополнительно рекомендуем настроить таймауты для RDS сессий для автоматического завершения сеансов при длительной неактивности.

  • Всю информацию об удаленных файлах будет сохраняться в текстовый лог файл (можно отключить после отладки скрипта на тестовых пользователях);
  • Дополнительно очищаем кэш RDP;
  • Выполняется очистка каталога с ошибками Windows Error Reporting (WER) в профиле пользователя;
  • В скрипте закомментированы строки очистки кэша Google Chrome. Если пользователи используют его и кэш Chrome занимает много места, раскоментируйте строки с путями;
  • Вы можете добавить в скрипт дополнительную операцию проверки текущего размера папки с профилем пользователя до очистки и после (позволяет получить более точную информацию, но выполняется медленно). Либо можно просто проверить свободное место на диске до и после (выполняется мгновенно).

# Скрипт можно использовать для очистки папок в профиле пользователя (кэш, temp, downloads,кэш google chrome)
# PowerShell скрипт запускается из-под пользователя (права администратора) не требуются. Очищаются только временные файлы и кэш текущего пользователя.
# Оптимально для запуска через логофф скрипт GPO или через планировщик Task Scheduler  
# Можно использовать на RDS хостах, VDI или рабочих станциях для очистки профилей пользователей
# Рекомендуем сначала протестировать работу скрипта в вашем окружении, и после этого удалить опцию WhatIf для физического удаления файлов
$Logfile = «$env:USERPROFILE\cleanup_profile_script.log»
$OldFilesData = (get-date).adddays(-14)
# Полная очистка каталогов с кэшем
[array] $clear_paths = (
‘AppData\Local\Temp’,
‘AppData\Local\Microsoft\Terminal Server Client\Cache’,
‘AppData\Local\Microsoft\Windows\WER’,
‘AppData\Local\Microsoft\Windows\AppCache’,
‘AppData\Local\CrashDumps’
#’AppData\Local\Google\Chrome\User Data\Default\Cache’,
#’AppData\Local\Google\Chrome\User Data\Default\Cache2\entries’,
#’AppData\Local\Google\Chrome\User Data\Default\Cookies’,
#’AppData\Local\Google\Chrome\User Data\Default\Media Cache’,
#’AppData\Local\Google\Chrome\User Data\Default\Cookies-Journal’
)
# Каталоги, в которых удаляются только старые файлы
[array] $clear_old_paths = (

‘Downloads’
)
function WriteLog
{
Param ([string]$LogString)
$Stamp = (Get-Date).toString(«yyyy/MM/dd HH:mm:ss»)
$LogMessage = «$Stamp $LogString»
Add-content $LogFile -value $LogMessage
}
WriteLog «Starting profile cleanup script»
# если вы хотите очистить каталог с кэшем Google Chrome, нужно  остановить процесс chrome.exe
$currentuser=$env:UserDomain + «\»+ $env:UserName
WriteLog  «Stopping Chrome.exe Process for $currentuser»
Get-Process -name chrome -ErrorAction SilentlyContinue| ? {$_.SI -eq (Get-Process -PID $PID).SessionId} | Stop-Process
Start-Sleep -Seconds 5
# очистка каталогов с кэшем
ForEach ($path In $clear_paths)
{
If ((Test-Path -Path «$env:USERPROFILE\$path») -eq $true)
{
WriteLog «Clearing $env:USERPROFILE\$path»
Remove-Item -Path «$env:USERPROFILE\$path» -Recurse -Force -ErrorAction SilentlyContinue -whatif  -Verbose 4>&1 | Add-Content $Logfile
}
}
# удаление старых файлов
ForEach ($path_old In $clear_old_paths)
{
If ((Test-Path -Path «$env:USERPROFILE\$path_old») -eq $true)
{
WriteLog «Clearing $env:USERPROFILE\$path_old»
Get-ChildItem -Path «$env:USERPROFILE\$path_old» -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {($_.LastWriteTime -lt $OldFilesData )} | Remove-Item  -Recurse -Force -ErrorAction SilentlyContinue -whatif  -Verbose 4>&1 | Add-Content $Logfile
}
}
WriteLog «End profile cleanup script»

По аналогии вы можете добавить в массив $clear_paths другие папки, которые вам нужно очищать в профиле пользователя.

Данный PowerShell скрипт можно выполнять при завершении сессии пользователя на RDS сервере. Проще всего назначить скрипт через logoff политику GPO.

  1. Создайте новую GPO и назначьте ее на OU, в котором находятся ваши RDS хосты;
  2. В настройках политики включите Режим замыкания групповой политики (Loopback Processing mode). Это нужно чтобы к применить настройки из секции пользователей к компьютеру;
    включить режим замыкания gpo

  3. Скопируйте файл PowerShell скрипта на контроллер домена в каталог Netlogon ( \\itoservice.ru\netlogon\CleanupUserProfile.ps1 ) ;
  4. Для дополнительной защиты кода PowerShell скрипта от изменений вы можете подписать его с помощью сертификата.

  5. Перейдите в раздел GPO User Configuration -> Policies -> Windows Settings -> Scripts -> Logoff. Перейдите на вкладку PowerShell Scripts и добавьте путь к PS1 файлу в Netlogon;
    запуск логоф скрипта PowerShell через групповые политики

  6. Чтобы применить новые настройки GPO, выполните выход пользователя из Windows;
  7. Теперь при завершении сеанса пользователя на RDS сервере указанные каталоги будут автоматически очищаться. Вы можете проверить список удаленных файлов и каталогов в текстовом лог файле в профиле пользователя.

текстовый лог файл с историей очистки профиля пользователя

Рассмотренные здесь методы очистки пользовательских папок можно использовать как для локально хранящихся профилей пользователей, так и контейнеров User Profile Disks или FSlogix профилей на Windows Server RDSH. Также эффективно будет просто исключить временные папки из перемещаемых профилей.

Windows Server RDS farm administrators are often faced with the problem of running out of space on a system drive due to a large amount of user data. This article shows you how to use PowerShell and Group Policies to automatically clean up the Recycle Bin, Downloads, Temp, and Cache folders in the user profiles on Windows.

Contents:

  • Automatically Cleanup Temp and Download Folders with Windows Storage Space
  • How to Empty the Recycle Bin for Windows Users?
  • Clear Cache, Temp, and Downloads Folders in the User Profile with PowerShell

Automatically Cleanup Temp and Download Folders with Windows Storage Space

You can use the built-in Storage Sense feature to automatically delete old and temporary files on Windows Server 2019/2022 and Windows 10/11. It has special GPO options that allow you to clean up Temp and Downloads folders.

Storage Space - delete temporary files

How to Empty the Recycle Bin for Windows Users?

By default, the Recycle Bin folder  ($Recycle.Bin) for deleted files is enabled on a Windows host. An individual Recycle Bin folder is created for each user in this directory (with the user’s SID as the name) on the RDS server. Over time, you will find that the total file size in the recycle bins of all users will take up a significant amount of disk space on the RDS host.

The default size of the Recycle Bin in Windows is about 5% of the disk size. You can change the maximum size of the Recycle Bin on each drive in its properties. Here you can also disable the Recycle Bin completely using the Don’t move files to the Recycle Bin option. However, this will only change the recycle bin settings for the current user.

You may set the maximum Recycle Bin size for users with the Maximum allowed recycle bin size GPO option under User Configuration -> Administrative Templates -> Windows Components -> File Explorer. The maximum Recycle Bin size is set as a percentage of your disk size. Setting this to 0 disables the recycle bin on all drives.

GPO: Maximum recycle bin size allowed

To clear the Recycle bin in Windows, you can use the Clear-RecycleBin cmdlet (available in PowerShell 5.1 and newer on Windows 10). In order to empty the Recycle Bin without prompting, run the following command:

Clear-RecycleBin -Force

If you run this command as a common user on an RDS host, only the recycle bin of the current user will be cleared. You can add this command to your GPO logoff scripts to clear the recycle bin when a user signs out:

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -Command Clear-RecycleBin -Confirm:$false

For previous versions of Windows (with older versions of PowerShell), you can use the following code to clean up the RecycleBin:

$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | %{Remove-Item $_.Path -Recurse -Confirm:$false}

Clear Cache, Temp, and Downloads Folders in the User Profile with PowerShell

Let’s consider a PowerShell script to clean up Temp, Downloads, and some other temporary folders in a user profile on a Windows Server RDS or a desktop computer running Windows 10/11.

Script comments:

  • In this example, we will delete files older than 14 days in the Downloads folder (you can change this option). Other folders with cache and temporary files will be completely empty;
  • The script runs in the current user context (the script deletes old files when a user logs out from Windows and runs as a GPO logoff script);

    If used in an RDS environment, ensure that users click the Logout/Login button to end their sessions. We also recommend configuring RDS session timeouts to end sessions after a period of inactivity automatically.

  • All information about deleted files will be saved to a text log file (you can disable this after debugging the script on test users);
  • It will also clean up the RDP connection history and cache;
  • The Windows Error Reporting (WER) folder in a user profile is cleaned;
  • The lines that clear the Google Chrome cache are commented out in the script. If your users use it and the Chrome cache takes up a lot of space, uncomment the lines with the paths;
  • You can add an extra operation to check the current size of the user profile folder before and after the cleanup (it allows you to get more accurate information, but takes some time). Or you can simply check the free disk space before and after (it is done quickly).
# You can use this script to clean folders in a user profile (cache, temp, downloads, google chrome cache) on RDS hosts, VDIs, or workstations
# Run the PowerShell script under a commaon user account (no administrator privileges are required). Only temporary files and the current user's cache are deleted.
# You can run this script via GPO (logoff script) or with the Task Scheduler
# Test the script in your environment and then remove the WhatIf option to permanently delete files
$Logfile = "$env:USERPROFILE\cleanup_profile_script.log"
$OldFilesData = (Get-Date).AddDays(-14)
# Complete cleanup of cache folders
[array] $clear_paths = (
    'AppData\Local\Temp',
    'AppData\Local\Microsoft\Terminal Server Client\Cache',
    'AppData\Local\Microsoft\Windows\WER',
    'AppData\Local\Microsoft\Windows\AppCache',
    'AppData\Local\CrashDumps'
    #'AppData\Local\Google\Chrome\User Data\Default\Cache',
    #'AppData\Local\Google\Chrome\User Data\Default\Cache2\entries',
    #'AppData\Local\Google\Chrome\User Data\Default\Cookies',
    #'AppData\Local\Google\Chrome\User Data\Default\Media Cache',
    #'AppData\Local\Google\Chrome\User Data\Default\Cookies-Journal'
)
# Folders where only old files should be removed
[array] $clear_old_paths = (
    'Downloads'
)
function WriteLog {
    Param ([string]$LogString)
    $Stamp = (Get-Date).ToString("yyyy/MM/dd HH:mm:ss")
    $LogMessage = "$Stamp $LogString"
    Add-content $LogFile -value $LogMessage
}
WriteLog "Starting profile cleanup script"
# If you want to clear the Google Chrome cache folder, stop the chrome.exe process
$currentuser = $env:UserDomain + "\"+ $env:UserName
WriteLog "Stopping Chrome.exe Process for $currentuser"
Get-Process -Name chrome -ErrorAction SilentlyContinue | Where-Object {$_.SI -eq (Get-Process -PID $PID).SessionId} | Stop-Process
Start-Sleep -Seconds 5
# Clean up cache folders
ForEach ($path In $clear_paths) {
    If ((Test-Path -Path "$env:USERPROFILE\$path") -eq $true) {
        WriteLog "Clearing $env:USERPROFILE\$path"
        Remove-Item -Path "$env:USERPROFILE\$path" -Recurse -Force -ErrorAction SilentlyContinue -WhatIf -Verbose 4>&1 | Add-Content $Logfile
    }
}
# Delete old files 
ForEach ($path_old In $clear_old_paths) {
    If ((Test-Path -Path "$env:USERPROFILE\$path_old") -eq $true) {
        WriteLog "Clearing $env:USERPROFILE\$path_old"
        Get-ChildItem -Path "$env:USERPROFILE\$path_old" -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {($_.LastWriteTime -lt $OldFilesData)} | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -WhatIf -Verbose 4>&1 | Add-Content $Logfile
    }
}
WriteLog "End profile cleanup script"

Similarly, you can add other folders you want to clear in a user profile to $clear_paths .

This PowerShell script can run when the user’s RDP server session ends. The easiest way to assign a script is to use the logoff GPO policy.

  1. Create a new GPO and assign it to the Organization Unit (OU) in which your RDS hosts are located;
  2. Enable the option Configure user Group Policy Loopback Processing mode. This is necessary to apply the settings from the Users section to the computer;
    enable gpo loopback processing

  3. Copy the PowerShell script file to the Net logon folder on your domain controller (\\woshub.com\netlogon\CleanupUserProfile.ps1);
  4. Go to the GPO section User Configuration -> Policies -> Windows Settings -> Scripts -> Logoff. Open the PowerShell Scripts tab and add a UNC path to the PS1 file in Netlogon;
  5. GPO: run powershell script at logoff

    Log off the user from Windows to apply the new GPO settings;

  6. When ending a user session on an RDS server, the specified folders will be cleared automatically. You can view a list of deleted files and folders in a text log file in a user profile.

profile cleanup log

The user folder cleanup methods discussed here can be applied to both locally stored user profiles and User Profile Disks or FSlogix profile containers on Windows Server RDSH.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Что делать если не скачивается дискорд на windows 10
  • Windows 7 forum ru board ru
  • Как удалить с ноутбука ненужные программы полностью windows 7
  • Как создать правило для брандмауэра windows 10
  • Возвращение компьютера в исходное состояние windows 10 зависло на 99 процентах