Windows Server2003/2008でユーザーのディスククォータに影響を与えるすべてのファイルを見つけるために使用できるスクリプトまたはツールを誰かが知っているかどうか疑問に思っていました。
助言がありますか?
基本的に、自分が所有するすべてのファイルのサイズを集計する必要があります。簡単な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、ユーザーID 。
コマンドラインオプションを使用して、Windows 2k3リソースキットのDISKUSE.EXEツールを試してください。
以下のオプションは、H:ドライブをスキャンしてmydomain\johnsmithが所有するファイルを探し、作成された日のサイズとc:\ tmp\files.txtへのフルパスを出力します。
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>
以下の1行だけ!
特定のユーザーが所有するすべてのファイルを検索します:fsutil file findbysid
例えば。ユーザー名が「fredsmith」で、E:ドライブのどこでも確認したい場合!
コマンドラインで次のように入力します。
fsutilファイルfindbysidfredsmith e:\