0

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

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

我已经检查了 Script Guy,但找不到任何接近它的东西。

4

1 回答 1

5

我使用来自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
于 2013-11-13T11:18:34.027 回答