Иногда кажется, что папка
%TEMP% - это черная дыра. Пользователи жалуются на тормоза, места на диске мало, а ты заходишь туда - и видишь архивы обновлений, временные файлы Office, кэш инсталляторов и прочий мусор за последние сто лет.Руками чистить на каждом ПК? Нет уж. Я сделал это через PowerShell и GPO.
Решение:
Скрипт для очистки временных файлов запускается через планировщик задач от имени SYSTEM, раз в неделю. Вот пример скрипта:
$TempPath = "$env:TEMP"
Get-ChildItem -Path $TempPath -Recurse -Force -ErrorAction SilentlyContinue |
Where-Object { -not $_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
Remove-Item -Force -ErrorAction SilentlyContinue
Чтобы запускался на всех компах в домене:
1. Создал GPO с task scheduler (
Computer Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks)2. Указал
Action: Create, Run as: SYSTEM, триггер раз в неделю.3. В
Program/script указал powershell.exe, а в аргументах: -ExecutionPolicy Bypass -File \\ваш-сервер\netlogon\clean_temp.ps1Важно:
– Скрипт не трогает свежие файлы (новее 7 дней)
– Работает бесшумно, ничего не спрашивает
– Можно дополнительно чистить
C:\Windows\Temp, если увереныВывод: Не запускайте такую штуку в logon-скриптах - это затормозит вход в систему. Лучше использовать планировщик задач. И, конечно, тестируйте сначала на паре машин — на всякий случай.
👉 @win_sysadmin