Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6677
Благодарности: 1560

Профиль | Отправить PM | Цитировать


Ещё один вариант на Powershell v5:
Код: Выделить весь код
# Корень с каталогами пользователей
$users = dir "c:\users" -Directory
# Файл отчёта
$reportFile = "c:\temp\$(get-date -f yyyy-MM-dd-HH-mm-ss) Отчёт по профилям пользователей.csv"

function Measure-Folder ($path,$displayname) {
    if (test-path $path) {$size = ((dir $path -file -recurse |select -expand length |measure -Sum).sum / 1mb).ToString("0.00")}
    else {$size = "Отказано в доступе"}
    "$($path.Split('\')[-2]);$displayname;$size"
}

$report = foreach ($user in $users) {
    Measure-Folder -path "$($user.fullname)\desktop" -displayname "Рабочий стол"
    Measure-Folder -path "$($user.fullname)\downloads" -displayname "Загрузки"
    Measure-Folder -path "$($user.fullname)\videos" -displayname "Видео"
}

# Сохранение
"Имя пользователя;Папка;Размер (МБ)" > $reportFile
$report >> $reportFile
Примерный вывод (формат CSV):
Код: Выделить весь код
Имя пользователя;Папка;Размер (МБ)
Default.migrated;Рабочий стол;Отказано в доступе
Default.migrated;Загрузки;Отказано в доступе
Default.migrated;Видео;Отказано в доступе
user1;Рабочий стол;6424,75
user1;Загрузки;29793,81
user1;Видео;30215,31
Public;Рабочий стол;0,01
Public;Загрузки;1,38
Public;Видео;0,00
RDV GRAPHICS SERVICE;Рабочий стол;Отказано в доступе
RDV GRAPHICS SERVICE;Загрузки;Отказано в доступе
RDV GRAPHICS SERVICE;Видео;Отказано в доступе
Файл без проблем импортируется в Excel или LibreOffice.
Можно вообще поставить модуль ImportExcel и выгружать в xlsx напрямую.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 05-05-2025 в 13:00. Причина: выделил сохранение в конец, пофиксил определение отсутствия доступа

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:59, 05-05-2025 | #8