Set FSRM Storage Report Limits using PowerShell

Set FSRM Storage Report Limits using PowerShell

  • Comments 3
  • Likes

Windows Server 2012:  FSRM Storage Report Limits

Configuring Report Limit Settings Using PowerShell, by Stan Symms

Hello there,

  My name is Stan Symms, and I'm a security architect in the ISRM SAFE-T team at Microsoft here with some tips for those who need to build File Storage Reports using FSRM and have run into report limits..   

Windows Server’s File Storage Resource Manager comes with a set of Storage Reporting functions that allow a user to generate a variety of valuable reports concerning file shares.  Default values for report limits, e.g., max files/report, are preconfigured to sample size values only.  Unfortunately, Prior to Server 2012 R2, File Storage Report limits weren’t accessible from the FRSM UI. With no UI to manage them in FSRM, the user can be very confused by the output of storage reports when they aren’t aware of the existence of reporting limits.   Worse still, it has been difficult to find documentation explaining what these limits are and how to reset them yourself.  Hence, this article is being provided to improve that situation.

The goal of this post is to provide you with the information you need to:

  1. Be aware of the various default reporting limits within the FRSM Reporting System as of Windows Server version 2012.

  2. Learn how to easily configure those limits using Windows PowerShell to values which will enable you to get the information you need.

What’s not covered:   This post will not

  1. Teach you how to install or use FSRM Reporting

  2. Teach you how to write PowerShell scripts

With that, let’s get started.  In the next section I will set expectations with you on what you need to have done prior to using the instructions and other pre-requisites such as required permissions and settings.


 

PREPARATIONS AND ASSUMPTIONS

At this point I am assuming you have installed the File Storage Resource Manager role into your Windows Server 2012 instance and all currently published roll-up updates have been installed. 

Additional assumptions before I begin include:

  1. You are fully versed in the operation of the FSRM role in Windows Server 2012

  2. You understand how to execute PowerShell commands

  3. You are logged into the server with Local Administrator privileges


FSRM REPORTING LIMITS DEFINED

The following table defines the supported reporting limit constants FSRM uses to constrain report output for the purposes of mitigating performance impacts from excessively large data sets:

The user is free to set any one of these constants to match their report output needs.  

The means to do so is consistent for each and will be explained in the Step By Step section.

REPORTING LIMIT CONSTANT DEFAULT VALUES

Depending on your version of Windows Server, each of the report limit constants described above comes with a default hardcoded value.  

The current values will always be displayed in your PowerShell window when you set any constant to a new value.

NOTE:   Windows Server 2012 R2 allows configuration of these values within the Storage Report Task Properties dialogue of FSRM, based on the report type selected, by clicking on the “Edit Parameters” button as shown below:

STEP BY STEP INSTRUCTIONS

The steps to change the current value of a FSRM Report Limit Constant are quite simple and easy.   

Once you have identified the particular constant you wish to change, it will be used in the following command, replacing the <> parameter.

Set-FsrmSetting –<ConstantName> <NewValue> –PassThru

To execute this command with your parameter, I will use the “MaxFilesPerPropertyValue” as an example, and set the new value to 1 Million. 

The steps to do this are as follows:

1) Go to the START screen

2) Locate the PowerShell icon and Right-Click it.   On the Windows Status Bar at the bottom of the screen, choose “Run As Administrator” as shown in the picture below:

3) When the PowerShell Command Window Opens, type the following command:

   Set-FsrmSetting –ReportLimitMaxFilesPerPropertyValue 1000000 –PassThru

This will enable a report to contain up to 1 million files for each property value reported.

If you have access to this command with your current login, the command will execute and provide a summary of the current FSRM Parameter Values as shown below.  

If you do NOT have access to the command, you will see the message “Access Denied”

NOTE:  If you get an error message indicating the PowerShell command you are attempting to execute is not digitally signed or running scripts is disabled, see the PS command Help set-executionpolicy for information on how to resolve the issue.

PARAMETER NAMES CORRESPONDING TO EACH REPORT LIMIT CONSTANT

Notice the Parameter Name in the command is a VARIATION of the actual Constant Name, not the name itself.  

The constant name is defined in the FSRM API that is being called by the PowerShell cmdlet. 

Thus, instead of using “FsrmReportLimit_MaxFilesPerPropertyValue”, we used “ReportLimitMaxFilesPerPropertyValue”.  

Note: You MUST use the same convention for the other constants when specifying the associated Parameter Name in the command.  

I have included a table with the Parameter Name translations for your convenience below:

Reporting Limit Constant Name

Parameter Name

FsrmReportLimit_MaxFiles

ReportLimitMaxFile

FsrmReportLimit_MaxFileGroups

ReportLimitMaxFileGroup

FsrmReportLimit_MaxOwners

ReportLimitMaxOwner

FsrmReportLimit_MaxFilesPerFileGroup

ReportLimitMaxFilesPerFileGroup

FsrmReportLimit_MaxFilesPerOwner

ReportLimitMaxFilesPerOwner

FsrmReportLimit_MaxFilesPerDuplGroup

ReportLimitMaxFilesPerDuplicateGroup

FsrmReportLimit_MaxDuplicateGroups

ReportLimitMaxDuplicateGroup

FsrmReportLimit_MaxQuotas

ReportLimitMaxQuota

FsrmReportLimit_MaxFileScreenEvents

ReportLimitMaxFilesScreenEvent

FsrmReportLimit_MaxPropertyValues

ReportLimitMaxPropertyValue

FsrmReportLimit_MaxFilesPerPropertyValue

ReportLimitMaxFilesPerPropertyValue

4) Replace the parameter name in the example command with the one you wish to change, and provide a new value in place of mine, and you have it.  

Issue the new command in the PowerShell command window to match the structure:

    Set-FsrmSetting –<ConstantName> <NewValue> –PassThru

SUMMARY

Once you have executed a command successfully, you should see a new summary of active FSRM Reporting Constants displayed with your new value associated to the parameter you specified.   If you got an error message instead, it’s likely you misspelled some part of the command or parameters, supplied an invalid value, or do not have the appropriate privileges to execute FSRM commands.

For more information about FSRM PowerShell commands, visit this TechNet Link: 

http://technet.microsoft.com/en-us/library/jj900651.aspx

You can review the complete list of Parameters used in the “Set-FsrmSetting” PowerShell cmdlet at this TechNet link: 

http://technet.microsoft.com/en-us/library/jj900644.aspx  

Thanks for reading and enjoy your limitless reporting :)

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment