如何:在Windows服务器(2003或2008)中查找影响磁盘配额的文件?

只是想知道是否有人知道一个脚本或工具,可以用来查找所有影响Windows Server 2003/2008中的用户的磁盘配额的文件。

有什么build议么?

本质上,你需要统计你拥有的所有文件的大小。 一个快速的powershell黑客:

[Int] $intSize = 0;
get-childitem -literalpath <rootdir> -recurse | foreach-object{ if ( ($_ | get-acl).owner -eq "<yourpc_or_domain>\<yourid>") { $intSize += $_.length } };
"Total size : " + $intSize;

…其中<rootdir>是要检查的目录的根目录, <yourpc_or_domain>是要检查的帐户的计算机或域, <yourid>是您的…. errr,用户标识。

使用命令行选项从Windows 2k3资源工具包中尝试DISKUSE.EXE工具。
下面的选项扫描H:驱动器以查找mydomain \ johnsmith所拥有的文件,并在创build时输出它们的大小,以及到c:\ tmp \ files.txt的完整path

 diskuse H:\ /f:c:\tmp\files.txt /u:mydomain\johnsmith /s/t/d:c /v 

输出如下所示:

 DiskUse Output from 11/05/2013 at 09:43:19 ------------------------------------------ User: mydomain\johnsmith SpaceUsed: 5535722202 4,689,108,412 : 11/03/2013 : h:\home\johnsmith\files\meninblack3.mp4 169 : 07/06/2012 : h:\home\johnsmith\files\somefile.doc <snip> 

Spacemonger 1.4是我用过的一个老的graphics工具,可以达到这个目的。 它以graphics方式显示各种文件占用的空间。 看到这个例子 。

你需要find1.4版本。 这是他们发布的最后一个免费版本。 你可以在这里find它

简单的一行,下面!

查找特定用户拥有的所有文件:fsutil文件findbysid

例如。 如果用户名=“fredsmith”,我们想在E:驱动器的任何地方检查!

在命令行键入:

fsutil文件findbysid fredsmith e:\