Network Management

NPM Scheduled report export to PDF shows login page

This article discusses resolving the issue where a scheduled report exported to pdf shows a screenshot of the login page. Message: INFO SolarWinds.Orion.Security.ProcessRunner - stdout: Input file does not exist --url

First published date

10/24/2018 5:27 PM

Last published date

6/25/2025 6:58 PM

Overview

A scheduled report exported to pdf shows the login page or not complete information.

image.png

In the following log: 
  • %ProgramData%\SolarWinds\Logs\Orion\Core.BusinessLayer.log

The following message can be located: 

INFO SolarWinds.Orion.Security.ProcessRunner - (null) stdout: Input file does not exist --url http(s)://{HOSTNAME}:{PORT}/Orion/Report.aspx?ReportID={REPORTID}&X-SW-Scheduler=true&InlineRendering=TRUE&Printable=True&LoginNonce={LOGINNONCE}&RenderAsImage=True --outputfile {%ProgramData%}\SolarWinds\Orion\{FILENAME} or does not user as argument
Try read settings explicitly from command line args.
SUCCESS:{%ProgramData%}\SolarWinds\Orion\{FILENAME}:Title:OrionExport

Product section

Orion Platform

Cause

Possible causes:
  • Environmental configuration or issue.
  • 3rd party component issue.
  • Credentials used to create the report and report schedule

Resolution

Option 1: Change the account used to run the Orion Module Engine to a built-in Local Administrator

  1. RDP to the SolarWinds Platform server.
  2. Open Services (Default Location: %windir%\system32\services.msc).
  3. Right-click on SolarWinds Orion Module Engine.
  4. Select Properties.
  5. Select the Log On tab.
  6. Select This Account.
  7. Provide credentials for Built-in Local Administrator account, click OK.
  8. Restart the SolarWinds Platform services by using the SolarWinds Platform Service Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\StopNetPerfMon.exe).

Option 2: Clear Windows Temp

  1. RDP to the SolarWinds Platform server.
  2. From the following location, remove files older than 30 days: 
    • %windir%\Temp
  3. Restart the SolarWinds Platform services by using the SolarWinds Platform Service Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\StopNetPerfMon.exe).

Option 3: Change the PDF exporter application used by the SolarWinds Platform to a 3rd party component

Install another 3rd party component for generating PDF and use it instead of the default component. This component has an issue where the table row is split between multiple pages, even when page-break-inside: avoid is used.
Note: Create a database backup before executing the steps from Option 3.


SolarWinds Platform 2022.4

In SolarWinds 2022.4, database settings related to the default pdf engine moved from the SolarWinds Platform database to the registry. Change the default PDF engine directly in the Registry Editor.

  1. RDP to the SolarWinds Platform server.
  2. Download wkhtmltopdf and install it to any folder (Default location: C:\Program Files\).
    When referencing the default installation location, you must reference the EXE file in /bin (C:\Program Files\wkhtmltopdf\bin\).
  3. Open the Registry Editor.
  4. Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolarWinds\Orion\Core\PdfEngineManager.
  5. Provide the path to the required PDF engine in PrimaryEnginePath.

image.png

  1. Update PrimaryEngineArgsPattern value to 

    --margin-bottom 0 --margin-left 0 --margin-right 0 --margin-top 0 --no-stop-slow-scripts --javascript-delay 120000 ${URL} ${PDFFileNamePath}
  2. (Optional) Modify Orionmaster.js.
    1. Create a backup of the following file:
      1. C:\Program Files\SolarWinds\Orion\Web\Orion\js\OrionMaster.js
    2. In the C:\Program Files\SolarWinds\Orion\Web\Orion\js\OrionMaster.js file replace the following line:
if (typeof (eopdf) === 'object') $('html').addClass('RenderPdf');

With this line:

if (window.location.href.toLowerCase().indexOf('x-sw-scheduler=true')>-1) $('html').addClass('RenderPdf');
  1. Save the file.
  2. Open SolarWinds Platform Service Manager (Default location: C:\Program Files\SolarWinds\Orion\StopNetPerfMon.exe) and restart all the services. 


If above won't work, try this

RDP to the SolarWinds Platform Server and then follow the steps below:

  1. Download and install wkhtmltopdf (available at  https://wkhtmltopdf.org/)
  2. Open the Registry Editor.
  3. Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolarWinds\Orion\Core\PdfEngineManager.
  4. Provide the path to the required PDF engine in PrimaryEnginePath.
  5. Update the PrimaryEngineArgsPattern value and set it to:

    --margin-bottom 0 --margin-left 0 --margin-right 0 --margin-top 0 --no-stop-slow-scripts --javascript-delay 120000 ${URL} ${PDFFileNamePath}
     
  6. Open the SolarWinds Platform Service Manager tool and restart the Module Engine service.

Note: To ensure you can restore your system in case of any issues, please back up the registry before making any changes:

  • Registry Entries:
    • Open the Registry Editor.
    • Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolarWinds\Orion\Core\PdfEngineManager.
    • Right-click on the PdfEngineManager key and select Export.
    • Save the exported .reg file to a safe location.



SolarWinds Platform 2022.3 and earlier

  1. RDP to the SolarWinds Platform server.
  2. Download wkhtmltopdf  and install it to any folder (Default location: C:\Program Files\).
    When referencing the default installation location, you must reference the EXE file in /bin (C:\Program Files\wkhtmltopdf\bin\).
  3. Open Database Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\DatabaseManager.exe)
  4. Execute the following query: 
    -- Scripts are not supported under any SolarWinds support program or service.
    -- Scripts are provided AS IS without warranty of any kind. SolarWinds further
    -- disclaims all warranties including, without limitation, any implied warranties
    -- of merchantability or of fitness for a particular purpose. The risk arising
    -- out of the use or performance of the scripts and documentation stays with you.
    -- In no event shall SolarWinds or anyone else involved in the creation,
    -- production, or delivery of the scripts be liable for any damages whatsoever
    -- (including, without limitation, damages for loss of business profits, business
    -- interruption, loss of business information, or other pecuniary loss) arising
    -- out of the use of or inability to use the scripts or documentation.
    
    -- Update rows in table 'WebSettings'
    UPDATE WebSettings
    SET
        [SettingValue] = '{PATH}'
    WHERE SettingName LIKE 'PdfExport_PrimaryEnginePath'
    Note: Replace the {PATH} with the path to 3rd party component executable.
  5. Execute the following query:
    -- Scripts are not supported under any SolarWinds support program or service.
    -- Scripts are provided AS IS without warranty of any kind. SolarWinds further
    -- disclaims all warranties including, without limitation, any implied warranties
    -- of merchantability or of fitness for a particular purpose. The risk arising
    -- out of the use or performance of the scripts and documentation stays with you.
    -- In no event shall SolarWinds or anyone else involved in the creation,
    -- production, or delivery of the scripts be liable for any damages whatsoever
    -- (including, without limitation, damages for loss of business profits, business
    -- interruption, loss of business information, or other pecuniary loss) arising
    -- out of the use of or inability to use the scripts or documentation.
    
    -- Update rows in table 'WebSettings'
    UPDATE WebSettings
    SET
        [SettingValue] = '--margin-bottom 0 --margin-left 0 --margin-right 0 --margin-top 0 --no-stop-slow-scripts --javascript-delay 120000 ${URL} ${PDFFileNamePath}'
    WHERE SettingName LIKE 'PdfExport_PrimaryEngineArgsPattern'
    Note: This example is based on wkhtmltopdf variables, adjust accordingly for the other solutions.
  6. (Optional) Modify Orionmaster.js.
    1. Create a backup of the following file: 
      • C:\inetpub\SolarWinds\Orion\js\OrionMaster.js
    2. In the C:\inetpub\SolarWinds\Orion\js\OrionMaster.js file replace the following line: 
      if (typeof (eopdf) === 'object') $('html').addClass('RenderPdf');
      With this line: 
      if (window.location.href.toLowerCase().indexOf('x-sw-scheduler=true')>-1) $('html').addClass('RenderPdf')
  7. Open SolarWinds Platform Service Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\StopNetPerfMon.exe) and restart all services

To revert back to default please follow these steps: 

  1. RDP to the SolarWinds Platform server.
  2. Open Database Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\DatabaseManager.exe).
  3. Execute the following query:
    -- Scripts are not supported under any SolarWinds support program or service.
    -- Scripts are provided AS IS without warranty of any kind. SolarWinds further
    -- disclaims all warranties including, without limitation, any implied warranties
    -- of merchantability or of fitness for a particular purpose. The risk arising
    -- out of the use or performance of the scripts and documentation stays with you.
    -- In no event shall SolarWinds or anyone else involved in the creation,
    -- production, or delivery of the scripts be liable for any damages whatsoever
    -- (including, without limitation, damages for loss of business profits, business
    -- interruption, loss of business information, or other pecuniary loss) arising
    -- out of the use of or inability to use the scripts or documentation.
    
    -- Update rows in table 'WebSettings'
    UPDATE WebSettings
    SET
        [SettingValue] = '${OrionInstallFolder}ExportToPDFCmd.exe'
    WHERE SettingName LIKE 'PdfExport_PrimaryEnginePath'
  4. Execute the following query: 
    -- Scripts are not supported under any SolarWinds support program or service.
    -- Scripts are provided AS IS without warranty of any kind. SolarWinds further
    -- disclaims all warranties including, without limitation, any implied warranties
    -- of merchantability or of fitness for a particular purpose. The risk arising
    -- out of the use or performance of the scripts and documentation stays with you.
    -- In no event shall SolarWinds or anyone else involved in the creation,
    -- production, or delivery of the scripts be liable for any damages whatsoever
    -- (including, without limitation, damages for loss of business profits, business
    -- interruption, loss of business information, or other pecuniary loss) arising
    -- out of the use of or inability to use the scripts or documentation.
    
    -- Update rows in table 'WebSettings'
    UPDATE WebSettings
    SET
        [SettingValue] = '--url ${URL} --outputfile ${PDFFileNamePath}'
    WHERE SettingName LIKE 'PdfExport_PrimaryEngineArgsPattern'
  5. Open SolarWinds Platform Service Manager (Default location: C:\Program Files (x86)\SolarWinds\Orion\StopNetPerfMon.exe) and restart all services.

Option 4: Bypass the login screen with DirectLink 

  1. Create a new Orion account named DirectLink to bypass the login screen.
  2. Rerun the scheduled report.
  3. If you see this as a security issue, you may delete the DirectLink account, and that should still work.

Option 5: Check the printable version option

If the PDF report is blank, check the printable version option. The permanent solution is to upgrade to the latest version.

  1. Revert to the original PDF converter as per the steps in Option 3.
  2. Upgrade to the latest SolarWinds Platform version: NPM release notes.

Option 6: Change user account used for Report Schedule

Used when a specific account other than admin is used to create the report.

  1. Browse to Reports > Manage Reports > Schedule Manager.
  2. Browse to the schedule that includes the reports.
  3. Check the schedule and click Edit Schedule.
  4. Under Advanced settings, kindly check if the user account used for the report schedule is the one that created the report.
  5. Use the account creator's credentials and click Next. 
  6. On the Schedule Manager, click the Schedule and click Run Now to simulate.