Назад | Перейти на главную страницу

Получение сведений об использовании диска для папок в Win2k3 без разрешений

У меня есть несколько общих папок пользователей (домашних папок), к которым у меня нет доступа. Есть ли хороший инструмент, который покажет мне, сколько места занимает каждая папка, не имея разрешений на просмотр файлов в папке?

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

Если у SYSTEM есть разрешение, вы можете получить командную строку как SYSTEM и запустить оттуда утилиту. Мне действительно нравится TreeSize Бесплатно утилита для быстрых специальных запросов. Если вы хотите что-то для долгосрочной отчетности, рассмотрите одну из их платных программ.

Получить командную строку как «СИСТЕМА» довольно просто даже в более поздних версиях Windows, если у вас есть доступ к PSTools и работают от имени администратора (т.е. с повышенными правами или с отключенным UAC в Windows Server 2008+): psexec -s cmd.exe

Это еще одна причина, по которой я предпочитаю оставлять «Администраторы - Полный доступ» для всех папок на серверных компьютерах. Это облегчает жизнь.

Тем не менее, вы можете использовать du точно - версия для Windows, похоже, использует SeBackupPrivilege для доступа к информации о файлах независимо от ACL! Возьмите GNU CoreUtils, вытащите du.exe и вставьте его либо в текущий каталог, либо где-нибудь в PATH, а в командной строке SYSTEM выполните:

du -d 1 x:\your\directory\

Я всегда это делаю, сообщая о размерах папок пользователей. (И, честно говоря, я настолько привык к тому, что дистрибутив UnxUtils находится в PATH на большинстве серверов, которые я администрирую, что забываю, что «du» не является частью ОС ...)

Попробуйте это программное обеспечение, вам нужно будет запустить его с компьютера, на котором вы хотите получить статистику, но пользовательский интерфейс действительно чистый. http://www.jgoodies.com/freeware/jdiskreport/

Вы также можете сделать это с помощью Powershell. Приведенный ниже код создает для вас хороший CSV-файл.

$startFolder = "c:\profiles"
$outputFile = "output.csv"

del $outputfile #Clear output file.

$colItems = (Get-ChildItem $startFolder | Where-Object {$_.PSIsContainer -eq $True})

"`"Folder Name`",`"Folder Size (in MB)`"" | out-file $outputFile -encoding ascii

foreach ($item in $colItems)
    {
        Write-Host "Getting size for `"$item`"..."
        $subitems = (Get-ChildItem $item -recurse | Measure-Object -property length -sum)
        $subitemsum = "`"{0:N2}" -f ($subitems.sum / 1MB) + "`""
        $itemname = "`"" + $item.name + "`""
        out-file $outputFile -InputObject "$($itemname),$($subitemsum)" -encoding ascii -Append
    }