Introduction to Storage Reports with FSRM on Windows Server 2019
File Server Resource Manager (FSRM) Storage Reports provide detailed analytical reports about storage usage on Windows Server 2019 file servers. These reports help administrators understand how storage is being consumed, identify large or unnecessarily duplicated files, find files that have not been accessed recently, report on quota usage across the organization, track file screening violations, and generate evidence for storage chargebacks in multi-department organizations. FSRM supports eight report types, each providing a different perspective on storage usage. Reports can be generated on demand, scheduled for automatic generation, and delivered via email in HTML, CSV, XML, or text format. This guide covers creating and configuring all available FSRM storage report types, scheduling automated reports, and customizing report parameters.
Installing FSRM and Preparing the Environment
Install FSRM on Windows Server 2019 if not already installed:
Install-WindowsFeature -Name FS-Resource-Manager -IncludeManagementTools
Configure SMTP for report email delivery. Open the FSRM console (fsrm.msc), right-click the root node, and select Configure Options. On the Email Notifications tab, enter your SMTP server hostname or IP, port (25 or 587), sender address, and default recipient. Click Send Test E-mail to confirm the configuration before creating report tasks.
Understanding the Eight FSRM Report Types
Duplicate Files: Lists groups of files with identical content (same size and a matching hash), allowing identification of wasted storage from redundant copies. Large Files: Lists files exceeding a configurable minimum size, sorted by file size descending. Essential for identifying unexpected large files consuming quota. Files by Owner: Shows storage consumption aggregated by file owner (user account), revealing which users are using the most space. Files by File Group: Aggregates storage by file type/group (Audio and Video, Executables, Office Files, etc.), useful for detecting policy violations and understanding content composition. Least Recently Accessed Files: Lists files not accessed within a specified number of days — ideal for identifying candidates for archival or deletion. Most Recently Accessed Files: The inverse of the above, showing recently active files. Quota Usage: Reports on configured quotas, showing each quota’s limit, current usage, and percentage used. File Screening Audit: Reports on file screening violations (attempts to save blocked file types), showing the user, date/time, file attempted, and the screen that blocked it.
Creating an On-Demand Storage Report
In the FSRM console, navigate to Storage Reports Management. Click Generate Reports Now in the Actions pane. Select the report types to generate — for a comprehensive storage audit, select Duplicate Files, Large Files, Files by Owner, and Quota Usage. Configure the scope by clicking Edit in the Report Data section: add the volumes or folders to scan. Select the output formats (HTML is most readable, CSV is useful for importing into Excel or a database).
Generate a report from the command line using PowerShell:
New-FsrmStorageReport -Name "OnDemand-Storage-Audit" -Namespace @("D:Shares", "E:UserHomes") -ReportType @("LargeFiles", "FilesByOwner", "QuotaUsage", "DuplicateFiles") -LargeFileMinimum 104857600 -Format @("Html", "Csv") -FolderOwnerFilePattern "*.docx", "*.xlsx", "*.pdf", "*.pptx" | Start-FsrmStorageReport
The report output is saved to the FSRM reports directory (by default %systemdrive%StorageReportsInteractive). Open the HTML file in a browser for a nicely formatted report.
Scheduling Automated Weekly Storage Reports
For recurring reports, create a scheduled report task. In the FSRM console, right-click Storage Reports Management and select Schedule a New Report Task. Assign a name (e.g., Weekly-Storage-Report), select the report types, configure the scope and parameters, and set the schedule to run weekly on Sunday morning when the server load is low.
Configure email delivery of the reports to the storage team. In the task’s Delivery tab, enter the recipient email addresses and select which report formats to attach. The task will run on schedule and email the reports automatically without manual intervention.
Create a scheduled report via PowerShell:
$schedule = New-FsrmScheduledTask -Weekly -DaysOfWeek @("Sunday") -Time "04:00"
New-FsrmStorageReport -Name "Weekly-Storage-Report" -Namespace @("D:Shares", "E:UserHomes") -ReportType @("LargeFiles", "FilesByOwner", "QuotaUsage", "LeastRecentlyAccessed", "FileScreenAudit") -LargeFileMinimum 52428800 -LeastAccessedMinimum 90 -Format @("Html", "Csv") -Schedule $schedule -MailTo "[email protected]"
Configuring Report Parameters for Each Report Type
Each report type accepts specific configuration parameters to tailor the results:
Large Files: Set the minimum file size with -LargeFileMinimum (in bytes). 52428800 = 50 MB, 104857600 = 100 MB. Increase this threshold on servers with many large legitimate files to reduce noise in the report.
Least Recently Accessed Files: Set -LeastAccessedMinimum to the number of days since last access. Setting this to 180 reports on files not accessed in 6 months, which are candidates for archiving to cold storage.
Files by File Group: Use -FileGroupsToReport to specify which file groups to include. Create custom file groups first in FSRM > File Screening Management > File Groups if the default groups don’t meet your needs:
New-FsrmFileGroup -Name "Database Files" -IncludePattern @("*.mdf", "*.ldf", "*.bak", "*.trn") -ExcludePattern @()
Quota Usage: No additional parameters needed beyond namespace — all quotas covering folders within the specified namespace are automatically included.
Analyzing Reports for Storage Optimization Decisions
Use the outputs from FSRM reports to drive actionable storage management decisions. From the Files by Owner report, identify users who have exceeded their fair share of storage. Contact them or enforce quotas. From the Duplicate Files report, identify content that can be deduplicated — either manually by users or automatically by enabling Windows Data Deduplication on the volume. From the Least Recently Accessed Files report (90+ days), identify folders that can be moved to cheaper tier storage such as Azure Blob Archive. From the File Screening Audit report, identify users who regularly attempt to store prohibited file types — address the behavior through policy enforcement or targeted training.
Accessing FSRM Report History
Completed reports are stored under the FSRM reports folder. Use PowerShell to list all reports generated by a specific scheduled task:
Get-FsrmStorageReport -Name "Weekly-Storage-Report"
View the last run time and status of all scheduled report tasks:
Get-FsrmStorageReport | Select-Object Name, LastRunTime, LastError, Schedule | Format-Table -AutoSize
FSRM report task events are written to the Application event log with source SRMSVC. Query these events to identify report failures:
Get-WinEvent -LogName Application | Where-Object { $_.ProviderName -eq "SRMSVC" } | Select-Object TimeCreated, LevelDisplayName, Message | Format-List