Windows Server 2012 includes a built-in mechanism called Best Practices Analyzer (BPA) to check your configuration and make sure everything is set to the proper values. These set of rules, which come in specific sets for each role you install, can be run through Server Manager or also via PowerShell.

For the Windows Server 2012 File Services role, the BPA includes a number of rules, including 99 rules for SMB. Here are some of the rules included in the SMB portion of the File Services BPA:

  • Scoped shares should be continuously available
  • Scaleout shares shouldn't have FolderEnumerationMode = AccessBased
  • Scaleout shares should have CachingMode = None
  • Shares should have CATimeout value >= 25
  • SMB server configuration should be consistent across cluster node

You should definitely run the BPA when you have a chance. Here is a series of PowerShell examples on how to do it:

1) Find which BPA Models are available:

PS C:\> Get-BpaModel | Select Id

Id
--
Microsoft/Windows/ADRMS
Microsoft/Windows/CertificateServices
Microsoft/Windows/ClusterAwareUpdating
Microsoft/Windows/DHCPServer
Microsoft/Windows/DirectoryServices
Microsoft/Windows/DNSServer
Microsoft/Windows/FileServices
Microsoft/Windows/Hyper-V
Microsoft/Windows/LightweightDirectoryServices
Microsoft/Windows/NPAS
Microsoft/Windows/RemoteAccessServer
Microsoft/Windows/TerminalServices
Microsoft/Windows/UpdateServices
Microsoft/Windows/VolumeActivation
Microsoft/Windows/WebServer

2) Run the File Services BPA:

PS C:\> Invoke-BpaModel Microsoft/Windows/FileServices

ModelId           : Microsoft/Windows/FileServices
SubModelId        :
Success           : True
ScanTime          : 11/15/2012 10:48:02 PM
ScanTimeUtcOffset : -08:00:00
Detail            : {FST2-FS1, FST2-FS1}

3) View a summary of the BPA results by Severity


PS C:\> Get-BpaResult Microsoft/Windows/FileServices | Group Severity

Count Name                      Group
----- ----                      ----- 
   96 Information               {Microsoft.BestPractices.CoreInterface.Result, Microsoft.BestPractices.CoreInterface... 
    3 Warning                   {Microsoft.BestPractices.CoreInterface.Result, Microsoft.BestPractices.CoreInterface...

4) View the details for all results with “Warning” severity level :

PS C:\> Get-BpaResult Microsoft/Windows/FileServices | ? Severity -eq "Warning"

ResultNumber : 3
ResultId     : 1041159855
ModelId      : Microsoft/Windows/FileServices
SubModelId   : SMB
RuleId       : 3
ComputerName : fst2-fs1
Context      : FileServices
Source       : fst2-fs1
Severity     : Warning
Category     : Configuration
Title        : Short file name creation should be disabled
Problem      : In addition to the normal file names, the server is creating short, eight-character file names with a
               three-character file extension (8.3 file names) for all files.
Impact       : Creating short file names in addition to the normal, long file names can significantly decrease file
               server performance.
Resolution   : Disable short file name creation unless short file names are required by legacy applications.
Compliance   :
Help         :
http://go.microsoft.com/fwlink/?LinkId=165013
Excluded     : False

ResultNumber : 86
ResultId     : 2816034575
ModelId      : Microsoft/Windows/FileServices
SubModelId   : SMB
RuleId       : 86
ComputerName : fst2-fs1
Context      : FileServices
Source       : fst2-fs1
Severity     : Warning
Category     : Configuration
Title        : Scaleout shares should have CachingMode = None
Problem      : At least one scale out share doesn't have CachingMode = None.
Impact       : Scale out shares having a CachingMode value other than 'None' isn't supported.
Resolution   : Set scale out shares' CachingMode to None.
Compliance   :
Help         :
http://go.microsoft.com/fwlink/?LinkId=248013
Excluded     : False

ResultNumber : 92
ResultId     : 4167795643
ModelId      : Microsoft/Windows/FileServices
SubModelId   : SMB
RuleId       : 92
ComputerName : fst2-fs1
Context      : FileServices
Source       : fst2-fs1
Severity     : Warning
Category     : Configuration
Title        : Enable Checksum Offload on a network adapter
Problem      : Some network adapters are capable of Checksum Offload, but the capability is disabled.
Impact       : Windows system performance may be degraded since TCP/IP checksum calculations are not being offloaded
               from the CPU to the network adapter.
Resolution   : Enable Checksum Offload with PowerShell cmdlet: Enable-NetAdapterChecksumOffload, or in the network
               adapter Advanced Properties.
Compliance   :
Help         :
http://go.microsoft.com/fwlink/p/?LinkId=243160
Excluded     : False

Note: At this point, some of the extended help on the web for the new Windows Server 2012 BPA rules is still being published. For some of them, at this point, you might be redirected to a page saying “Windows Server Future Resources”.