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