How to with Powershell:

Copy this code and paste into a .txt file and rename it to .ps1:

$gm=New-Object -com FSRM.FSRMGlobalStoreManager

$s=[xml]$gm.GetStoreData("Settings", "ReportSettings")



$gm.SetStoreData("Settings", "ReportSettings",$s.get_InnerXml())

Change MaxFiles to then number you want to be the limit.  CAUTION: 50,000 is very high but I understand the risks.  Be sure you have enough memory and space on the hard drive for the report.  Each line in the report is 2k so on computers now days you should be fine but be sure first.

Next open Powershell and browse to the file. (Example: C:\Temp\IncreaseFSRM.ps1)

Use this command to run the script:


If you get an error then refer to this post to change the exection policy:

How to with vbscript:

Copy this code and paste into a .txt file and rename it to .vbs:

const scriptName = "fsrmReportLimit"

DIM limitNames
limitNames = Array("MaxFiles", "MaxFileGroups", "MaxFileOwners", "MaxFilesPerFileGroup", "MaxFilesPerFileOwner", "MaxFilesPerDuplGroup", "MaxDuplicateGroups", "MaxQuotas", "MaxFileScreenEvents")

const optLimit = "/limit"
const optValue = "/value"

DIM objArgs, fsrm, strLimitName, strLimitValue

set objArgs = wscript.Arguments
if objArgs.count = 0 then
end if

if objArgs.count = 1 then
if objArgs(0) = "/?" then
end if
end if

DIM i, j
DIM strOption, strNewOption
DIM nModifyProperties
nModifyProperties = 0
for i = 0 to objArgs.count-1
if (LCase(objArgs(i)) = optLimit) then
strLimitName = objArgs(i+1)
i = i + 1
elseif (LCase(objArgs(i)) = optValue) then
strLimitValue = objArgs(i+1)
i = i + 1
wscript.echo "Error: invalid argument, " & objArgs(i)
end if

DIM limitNameCode
limitNameCode = -1
for i = LBound(limitNames) to UBound(limitNames)
if (LCase(strLimitName) = LCase(limitNames(i))) then
limitNameCode = i + 1
exit for
end if

if (limitNameCode = -1) then
wscript.echo "Error: invalid limit name, " & strLimitName
end if

set fsrm = WScript.createobject("fsrm.FsrmReportManager")

DIM newLimit
call fsrm.SetReportSizeLimit(limitNameCode, strLimitValue)
newLimit = fsrm.GetReportSizeLimit(limitNameCode)

if (Int(newLimit) = Int(strLimitValue)) then
wscript.echo "Report size limit " & limitNames(limitNameCode - 1) & " was changed to " & strLimitValue
wscript.echo "unable to change limit " & limitNames(limitNameCode - 1) & ". Limit is set to " & newLimit
end if

function PrintUsage()
wscript.echo ""
wscript.echo scriptName & " /limit [/value "
wscript.echo " - name of the report size limit to modify"
wscript.echo " - new value for the size limit"
wscript.echo ""
wscript.echo "Report limit values:"
for i = LBound(limitNames) to UBound(limitNames)
wscript.echo " " & limitNames(i)
end function

Next Open Command Prompt and browse to the location of the saved .vbs file. (Example: C:\Temp\IncreaseFSRM.vbs)

Run this command to change the limit:

wscript increasefsrm.vbs /limit MaxFiles /Value 50000

options for limit values are:

a. MaxFiles
b. MaxFileGroups
c. MaxFileOwners
d. MaxFilesPerFileGroup
e. MaxFilesPerFileOwner
f. MaxFilesPerDuplGroup
g. MaxDuplicateGroups
h. MaxQuotas
i. MaxFileScreenEvents