SRx Core - SharePoint Search Health Reports

The SRx Core contains a suite of tests to aid with troubleshooting a SharePoint 2013 and 2016 on-premises search farm. This package surfaces complex diagnostics in standardized PowerShell reports. Operations staff can utilze SRx Core to check for farm health deficiencies.

5 Star
2,040 times
Add to favorites
E-mail Twitter Digg Facebook
Sign in to ask a question

  • Output error in Write-SRxConsole.psm1
    1 Posts | Last post July 05, 2017
    • I had to edit the module Write-SRxConsole.psm1 to not use the $Host object variable in Lines: 124 and 125, becuase the variable is never set and in my case the RawUI.WindowSize property is null.
      I edited these lines and removed the module and re-imported it, worked great.
      Error when running this command (after running initSRx.ps1):
      New-SRxReport -RunAllTests -Details
      Exception calling "Substring" with "2" argument(s): "Length cannot be less than zero.
      Parameter name: length"
      My fix in code (Lines 122-133 in Write-SRxConsole.psm1):
                  foreach ($d in $details) {
                      if ($d.length -gt $($Host.UI.RawUI.WindowSize.Width - $headlineOffset - 1)) {
                          $d = $d.Substring(0, $($Host.UI.RawUI.WindowSize.Width - $headlineOffset -3)) + "..."
                      if (($lineInDetails -eq 0) -or ($details[$lineInDetails-1] -ne $details[$lineInDetails] -ne "")) {
                          Write-Host $(" " * $headlineOffset) -NoNewline
                          Write-Host $d
  • Where are the reports
    2 Posts | Last post March 20, 2017
    • Hi Guys
      Great tool for a deep diag of Search engine but one question : Where are the reports generated?
      (on the package, the file SharePoint Search Health Reports Dashboard - DATASHEET.pdf show a beautiful report on O365) 
      Do we need to have O365 to have theses reports?
    • Hello,
      The reports are stored in a SharePoint site. The site can be on-premises or in O365.
  • dashboard
    2 Posts | Last post March 01, 2017
    • Modules\Dashboard directory is not in the download zip file.  When will it be made public available?  Or I need to go through Microsoft TAM to get it?
    • Hi Kuo-Ting,
      That is correct. The Dashboard can be accessed through your Microsoft TAM. Have them reach out to srx at for more details.
  • SP2016
    1 Posts | Last post September 20, 2016
    • Hi
      Was this tested on SP2016 OnPrem?
      I get below error and I see that the module Get-SRxFarm is in a folder called SP2013. If I just load the module and run the function it works perfectly.
      [initSRx] Unable to load module: Get-SRxFarm
      One or more failures prevented the $SRxEnv from fully loading...
        > For more details, try closing this shell, re-opening, and initializing with the "-Verbose" or "-Debug" flag such as:
             .\initSRx.ps1 -Verbose
        > Verify that you can 'ping' your SQL Server Instance(s)
      Tx in advance.
  • Index operation failed, the array index evaluated to null
    3 Posts | Last post February 16, 2016
    • Hi
      I'm getting the following error when running the initSRx.ps1 (evalvated):
      VERBOSE: Loading module from path 'C:\sp\Search Diagnostics\SRxCore\Modules\Search\Get-SRxSSA.psm1'.
      VERBOSE: Importing function 'Get-SRxSSA'.
       > Loading: New-SRxSearchServerObject
      VERBOSE: Loading module from path 'C:\sp\Search Diagnostics\SRxCore\Modules\Search\New-SRxSearchServerObject.psm1'.
      VERBOSE: Importing function 'New-SRxSearchServerObject'.
      Running: $global:xFarm = Get-SRxFarm
      Running: $global:xSSA = Get-SRxSSA | Enable-SRxCrawlDiag | Enable-SRxIndexDiag
      ~~~[Get-SRxSSA] Invalid Command-line argument (Multiple SSAs) : Please specify a specific SSA as the target...
      ~~~[Get-SRxSSA] Invalid Command-line argument (Multiple SSAs) : Please specify a specific SSA as the target...
      -->[Enable-SRxCrawlDiag] Extending $xSSA...
      ~~~ Invocation failed: $global:xSSA = Get-SRxSSA | Enable-SRxCrawlDiag | Enable-SRxIndexDiag
      Index operation failed; the array index evaluated to null.
      One or more failures prevented the $SRxEnv from fully loading...
        > For more details, try closing this shell, re-opening, and initializing with the "-Verbose" or "-Debug" flag such
             .\initSRx.ps1 -Verbose
        > Verify that you can 'ping' your SQL Server Instance(s)
      Do you have a parameter for targeting an SSA?
    • Hi Paul - thanks for reaching out.
      The short answer (and I'll do a better job of listing this syntax in the error output to help others avoid this going forward)
           .\initSRx.ps1 -SSA "name-of-your-SSA
    • And the long answer...
      The module intentionally forces a specific SSA to be targeted because a) we have a lot of code that gnerally assumes a single SSA and b) we [in the field] generally recommend against creating multiple SSAs in the same farm (unless you are testing multiple configurations in a non-production environment). Being said, that's why I added the following to the Get-SRxSSA module and plan on writing a blog post about this as soon as I can get bandwidth:
      Although it is supported to have multiple SSAs in a single farm, it is against best practices to provision multiple SSAs in a single farm. Therefore, this module and methods only provides a best effort to support multiple SSAs
         - The ideal usage and most tested cases for this module involes one SSA
      As documented in this TechNet article...
         Create and configure a Search service application in SharePoint Server 2013
         "Each Search service application has its own search topology. If you 
          create more than one Search service application in a farm, we recommend
          that you allocate dedicated servers for the search topology of each 
          Search service application. 
          Deploying several Search service applications to the same servers will 
          significantly increase the resource requirements (CPU and memory) on 
          those servers."
      In other words, if your organization has a very specific business requirement for multiple SSAs, then keep in mind that there is no substantial benefit to multiple SSAs in one farm because you still need additional hardware/servers to facilitate the second SSA. Meaning, there is no real drawback (other than the overhead of a second Central Admin, which is minimal at best) to putting these in separate farms. 
      I hope this helps, but please feel free to give us your feedback on this.