是否有一个程序/工具/脚本来监视或查看所有最近* Windows *服务器上创build的大*文件?

我几年来一直在pipe理一个适度的SBS 2003服务器。 我们的networking策略设置为存储用户configuration文件和服务器上的“我的文档”文件夹。 最近服务器磁盘已经满了,每隔几周运行一次WinDirStat,我就可以通过识别大文件并单独处理它们来解决这个问题。

是否有一个监视工具,主动寻找大型文件(最近创build),并有一个内置的报告/通知系统来ping我创build大文件(可能> 100MB?)

还是有一个程序/脚本过滤文件和文件夹的方式,以一种方式,在文件创build时间VS文件大小的重视方式?

我搜查了周围,找不到上述的Windows工具。

文件服务器资源pipe理器将做你正在寻找。

这里如何在SBS 2003 R2上安装。

你会想创build一个File Screen Template并从那里去: 在这里输入图像说明

这也可以使用Powershell脚本来完成,这也适用于你:

  #------------------------------------------------------------ # LargeFiles.CSV # Server = Server name without any slashes. Full UNC name can be used # Path = Can be any path but if you are using the administrative shares be # sure to use the "$" # Example:) L$\share\path\folder\etc or L$ #------------------------------------------------------------ #Get-ChildItem L:\ -Recurse | Where-Object {$_.Length -gt 10GB} | Select-Object @{Name="GB";Expression={$_.Length / 1GB}},Name $FromAddress = "FromEmailAddress" $ToAddress = "ToEmailAddress" $MessageSubject = "Large Files Found" $SendingServer = "SMTPServer.domain.local" function CreateLargeFilesCSV { Write-Host "--------------------------------------------------------`r" -foreground yellow Write-Host "The LargeFiles.csv file did not exist. This was created for you.`r" -foreground yellow Write-Host "You must now populate this file with the proper information,`r" -foreground yellow Write-Host "See files for more details.`r" -foreground yellow New-Item LargeFiles.csv -type file Add-Content LargeFiles.csv "Server,Path" Add-Content LargeFiles.csv "SQL1,I$" Add-Content LargeFiles.csv "SQL1,K$\Sharename\folder\etc" } function CheckSize { foreach ($result in $results) { $strServer = $result.Server $strServer = "\\$strServer\" $strPath = $result.Path $strPath = "$strPath" $strMaxFileSize = $result.MaxFileSize Get-ChildItem $strServer$strPath -Recurse | Where-Object {$_.Length -gt 10GB} | Select-Object Name,@{Name="Size(GB)";Expression={"{0:N2}" -f ($_.Length/1GB)}},@{Name="Server";Expression={$strServer}},@{Name="Path";Expression={$strPath}} | ConvertTO-HTML | Format-Table -AutoSize | Out-File Results.txt -append } } if (Test-Path LargeFiles.csv) { $Results = Import-CSV LargeFiles.csv | Select Server,Path CheckSize } else { CreateLargeFilesCSV } $Answer = Get-Content Results.txt | Select-String "</colgroup>" -quiet If ($Answer -eq $true) { Write-Host "Found some large files" $MessageBody = (Get-Content Results.txt | out-string) $MessageBody = "Found some large files. Below is a list of these files`n$MessageBody" Remove-Item Results.txt ###Create the mail message $SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress, $MessageSubject, $MessageBody $SMTPMessage.IsBodyHTML = $true ###Send the message $SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer $SMTPClient.Send($SMTPMessage) } Else { Write-Host "Nothing to send" Remove-Item Results.txt } - See more at: http://it-erate.com/hunting-alerting-large-files-powershell/#sthash.XI56yxdl.dpuf