Obter Usos de Disco para Pastas no Win2k3 sem permissões

2

Eu tenho um monte de pastas de compartilhamento de usuário (pastas base) às quais não tenho acesso. Existe uma boa ferramenta que me mostrará quanto espaço cada pasta está usando sem ter permissões para visualizar os arquivos na pasta?

Basicamente, eu queria uma maneira automatizada de fazer isso em vez de clicar com o botão direito em cada pasta e acessar as propriedades, mesmo que eu não tenha acesso a elas.

    
por Kyle Brandt 29.07.2009 / 15:48

3 respostas

4

Se SYSTEM tiver permissão concedida, você poderá obter um prompt de comando como SYSTEM e executar um utilitário a partir dali. Eu realmente gosto do utilitário TreeSize Free para consultas ad hoc rápidas. Se você quiser algo para relatórios de longo prazo, considere um de seus programas não gratuitos.

Obter um prompt de comando como "SYSTEM" é bastante fácil, mesmo em versões posteriores do Windows, se você tiver acesso a PSTools e estão sendo executados como Administrador (ou seja, elevados ou com o UAC desativado no Windows Server 2008+): psexec -s cmd.exe

Esta é mais uma razão pela qual eu prefiro deixar "Administradores - Controle Total" em todas as pastas nos computadores servidores. Isso torna a vida mais fácil.

Você pode usar du com certeza, embora - a versão do Windows parece aproveitar o SeBackupPrivilege para acessar informações de arquivos, independentemente das ACLs! Pegue o GNU CoreUtils , retire o du.exe e cole-o no diretório atual ou em algum lugar no PATH, e a partir do seu prompt de comando SYSTEM, faça um:

du -d 1 x:\your\directory\

Eu faço isso o tempo todo informando os tamanhos das pastas de usuários. (E, honestamente, eu me acostumei tanto com a distribuição do UnxUtils no PATH na maioria dos servidores que administro que esqueci que o "du" não faz parte do sistema operacional ...)

    
por 29.07.2009 / 17:00
1

Tente este software, você precisará executá-lo a partir da máquina que você quer estatísticas, mas a interface do usuário é realmente limpa. link

    
por 29.07.2009 / 16:27
1

Você também pode fazer isso usando o Powershell. O código abaixo cria um arquivo CSV legal para você.

$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
    }
    
por 29.07.2009 / 20:18