在没有权限的情况下获取Win2k3中文件夹的磁盘使用情况

我有一堆用户共享文件夹(家庭文件夹),我没有访问。 有没有一个好的工具,将显示每个文件夹使用多less空间,而无需查看文件夹中的文件的权限?

基本上我想要一个自动的方式来做到这一点,而不是右键单击每个文件夹,并去属性,即使我没有访问它。

如果SYSTEM有权限授予,那么你可以得到一个命令提示符为SYSTEM并从那里运行一个实用程序。 我碰巧非常喜欢TreeSize Free实用程序,用于快速临时查询。 如果你想要长期报告的东西考虑一个非自由的程序。

如果您有权访问PSTool并以pipe理员身份运行(即在Windows Server 2008+中升级或禁用了UAC), 则以 “SYSTEM”forms提供命令提示符相当容易,即使在以后的Windows版本中: psexec -s cmd.exe

这是我更喜欢在服务器计算机上的所有文件夹上保留“pipe理员 – 完全控制”的另一个原因。 它使生活更轻松。

但是,您可以确定地使用du – Windows版本似乎利用SeBackupPrivilege来访问文件信息,无论ACL如何! 抓住GNU CoreUtils ,拉出du.exe,并将其保存在当前目录或PATH中的某个位置,然后从SYSTEM命令提示符执行:

 du -d 1 x:\your\directory\ 

我一直在报告用户文件夹的大小。 (老实说,我已经习惯了在我pipe理的大多数服务器上的PATH中使用UnxUtils发行版,我忘了“du”不是操作系统的一部分)

试试这个软件,你需要从你想要的属性上运行它,但是UI真的很干净。 http://www.jgoodies.com/freeware/jdiskreport/

你也可以使用Powershell来做到这一点。 下面的代码为您创build一个很好的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 }