我有需要,但找不到与我打算实现的目标相关的任何问题。我正在尝试获取一个脚本(PowerShell 或 DOS WMI)来获取回收站的总大小,但是有多个驱动器。
我曾尝试使用此命令行DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)
,但这仅显示 C: 驱动器上回收站使用的大小,但我还需要获取每台服务器上其他驱动器的大小,而与使用的驱动器号无关。
我已经检查了 Script Guy,但找不到任何接近它的东西。
我有需要,但找不到与我打算实现的目标相关的任何问题。我正在尝试获取一个脚本(PowerShell 或 DOS WMI)来获取回收站的总大小,但是有多个驱动器。
我曾尝试使用此命令行DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)
,但这仅显示 C: 驱动器上回收站使用的大小,但我还需要获取每台服务器上其他驱动器的大小,而与使用的驱动器号无关。
我已经检查了 Script Guy,但找不到任何接近它的东西。
我使用来自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