获取回收站的总大小

时间:2013-11-13 09:35:50

标签: powershell batch-file wmi

我有需要,但未能找到与我打算实现的目标相关的任何问题。我正在尝试获取一个脚本(PowerShell或DOS WMI)来获取回收站的总大小,但是有多个驱动器的位置。

我尝试过使用此命令行DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s),但这只显示了C:驱动器上回收站使用的大小,但我还需要获取每台服务器上其他驱动器的大小,而不管使用的驱动器号。

我查过了Script Guy,但找不到它。

1 个答案:

答案 0 :(得分:4)

我使用http://gallery.technet.microsoft.com/scriptcenter/Get-RecycleBinSize-092f15c7

中的“Get-RecycleBinSize”脚本

太棒了。我已经针对2003,2008,2008 R2和2012测试了它。它为每个回收站返回一个对象(即通过驱动器和用户帐户)。一个例子:

Get-RecycleBinSize -ComputerName server01

Computer : server01
Drive    : C:
User     : Domain\username
BinSID   : S-1-5-21-1231231234-1231231234-1231231234-12345
Size     : 20

返回的大小以KB为单位,因此您可能希望对此进行一些格式化。

虽然将其用于报告目的,但我还将其合并到一个脚本中,当用户的回收站超过一定大小时,会向用户发送电子邮件,要求他们清空它。但是,您可以使用-empty参数强制清空它。

要获取服务器使用的总空间,您可以运行以下命令:

Get-RecycleBinSize -ComputerName server01 | % { $totalspace = $totalspace + [System.Math]::Round($_.Size/1MB,0) }
$totalspace