Export (0) Print
Expand All
Expand Minimize

FSRM: The cache for classification properties should be active

Published: April 27, 2010

Updated: August 31, 2012

Applies To: Windows Server 2008 R2, Windows Server 2012

This topic is intended to address a specific issue identified by a Best Practices Analyzer scan. You should apply the information in this topic only to computers that have had the File Services Best Practices Analyzer run against them and are experiencing the issue addressed by this topic. For more information about best practices and scans, see Best Practices Analyzer.

 

Operating System

Windows Server 2008 R2, Windows Server 2012

Product/Feature

File Services

Severity

Warning

Category

Configuration

The cache for classification properties is disabled.

File Server Resource Manager will reclassify files every time an application or Windows queries the classification of a file. This will result in reduced performance for applications, file management tasks, and reports that query classification properties for files.
noteNote
Automatic classification will attempt to classify all files every time instead of only files that have never been classified.

Use a script to enable the system cache module, which stores properties separately using alternate data stream storage. The issue with storing the properties separately is that when the file is moved the properties may not move with it.

To enable the system cache module by using a script

Use the following script to enable the system cache module:

function EnableFSRMCacheModule
{
    $CM = new-object -com("Fsrm.FsrmClassificationManager")
    $StorageModules = @($CM.EnumModuleDefinitions(1))
    foreach($module in $StorageModules)
    {
        if ($module.StorageType -ne 1)
        {
            continue
        }
        $moduleParams = @($module.Parameters)
        $staticModuleParam = "StaticModuleName"
        $adsStaticModuleName = "System Cache Storage Module"
        foreach($moduleParam in $moduleParams)
        {
            if ($moduleParam.SubString(0, $staticModuleParam.Length) -eq $staticModuleParam -and $moduleParam.SubString($staticModuleParam.Length + 1) -eq $adsStaticModuleName)
            {
                if ($module.Enabled -eq $false)
                {
                    $module.Enabled = $true
                    $module.Commit()
                }
                
                break
            } 
        }
    }            
}

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft