Skip to main content

Вывод размеров папок %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 по пользователям"

Как использовать:

  1. Откройте PowerShell от имени администратора

  2. Скопируйте и вставьте этот скрипт

  3. Нажмите Enter для выполнения

Особенности скрипта:

  • Обходит всех пользователей в C:\Users

  • Для каждого пользователя проверяет папку AppData\Local\Temp

  • Вычисляет размер всех файлов в папке (рекурсивно)

  • Выводит результаты в MB и GB, отсортированные по убыванию

  • Игнорирует ошибки доступа (если они есть)

Альтернативный вывод:

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