Вывод размеров папок %Temp% пользователей на PowerShell
PowerShell скрипт, который выводит размеры папок AppData\Local\Temp
для всех пользователей на диске C:
, отсортированные по убыванию размера:
# Получаем список всех пользовательских профилей $userProfiles = Get-ChildItem -Path "C:\Users" -Directory # Создаем массив для хранения результатов $tempFolderSizes = @() foreach ($user in $userProfiles) { $tempPath = Join-Path -Path $user.FullName -ChildPath "AppData\Local\Temp" # Проверяем существование папки Temp if (Test-Path -Path $tempPath) { # Получаем размер папки $folderSize = (Get-ChildItem -Path $tempPath -Recurse -File -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum -ErrorAction SilentlyContinue).Sum # Если размер не удалось получить, устанавливаем 0 if (-not $folderSize) { $folderSize = 0 } # Добавляем информацию в массив $tempFolderSizes += [PSCustomObject]@{ UserName = $user.Name TempPath = $tempPath SizeInBytes = $folderSize SizeInMB = [math]::Round($folderSize / 1MB, 2) SizeInGB = [math]::Round($folderSize / 1GB, 2) } } } # Сортируем по убыванию размера и выводим результат $tempFolderSizes | Sort-Object -Property SizeInBytes -Descending | Format-Table -AutoSize -Property UserName, SizeInMB, SizeInGB, TempPath # Альтернативный вывод с детализацией # $tempFolderSizes | Sort-Object -Property SizeInBytes -Descending | Out-GridView -Title "Размеры папок Temp по пользователям"
Как использовать:
-
Откройте PowerShell от имени администратора
-
Скопируйте и вставьте этот скрипт
-
Нажмите Enter для выполнения
Особенности скрипта:
-
Обходит всех пользователей в
C:\Users
-
Для каждого пользователя проверяет папку
AppData\Local\Temp
-
Вычисляет размер всех файлов в папке (рекурсивно)
-
Выводит результаты в MB и GB, отсортированные по убыванию
-
Игнорирует ошибки доступа (если они есть)
Альтернативный вывод:
Раскомментируйте строку с Out-GridView
для графического представления данных в таблице с возможностью сортировки.