Doing a Silent Install and Configuration

You can do what's called a silent install and configuration of Report Services, where you don't have to interact with a user interface and you plug in some configuration values ahead of time.

Doing a Silent Install of Report Services

Follow this procedure if you're installing Report Services components newly or upgrading to the latest version.

To silently install Report Services

  1. Open a command window and run it as administrator.

  2. Navigate to the Report Services folder in the installer package:

    Centrify-Server-Suite-version-mgmt-win64\DirectManage\Report Services

    where version refers to the Server Suite release version.

  3. Run the following command to install the Report Services files:

    Centrify_RptServices-version-win64.msi /quiet

    where version refers to component version.

    The program installs the Report Services files into the default installation folder. You'll know that the install worked if you see newer files in that folder.

    You're now ready to configure Report Services. For new installations, see the next procedure. For upgrades, see Upgrading the reporting database silently.

Configuring a New Report Services Deployment Silently

There are a few main factors that drive which parameters to use in configuring Report Services silently (automatically without interaction):

  • Are you creating a new database instance or publishing to an existing instance?
  • Are you using PostreSQL or Microsoft SQL Server?
  • Are you using Report Services in zone mode or domain mode?

When doing a silent configuration of report services, you create a file named config.json with the configuration parameters that you need for your deployment. For a list of the available parameters, see Report Services silent configuration parameters

Before you run the configuration program, be sure that you have the parameters set in the configuration file (config.json) and that you have the following ready to enter at the command line:

  • ServiceAccount and ServiceAccountPassword
  • PgSQLUser and PgSQLUserPassword (if using PostgreSQL)

The installer also supplies some sample configuration files (in the Report Services installation folder) that you can use as a guideline, depending on your deployment:

Database type Domain mode Zone mode
Microsoft SQL Server config_sql_server_domain_mode_sample.json config_sql_server_zone_mode_sample.json
PostgreSQL config_postgresql_domain_mode_sample.json config_postgresql_zone_mode_sample.json

To silently configure Report Services

  1. Prepare the configuration file according to the settings you need.

  2. Open a command line window as an administrator and run the report services configuration command according to the following usage:

    Centrify.Report.Configuration.CLI.exe --ConfigFile "C:\\config.json" --ServiceAccount "Local System" --ServiceAccountPassword --PgSQLUser --PgSQLUserPassword

Parameter Description
--ConfigFile The configuration json file, including the path. You can name this file as desired, as long as it's a .json file.
--IsGroupManagedServiceAccount Use this option to specify that the service account is a group managed service account (gmsa).
--ServiceAccount The service account to use to configure report services.
--ServiceAccountPassword The service account password. If you're using a built-in account such as "Local System", you don't have to specify the password.
--PgSQLUser If you use PostrgreSQL as your database, specify the PostreSQL user name
--PgSQLUserPassword The PostgreSQL password

The command does the configuration. If there is an issue or error, the command displays a message in red text. When the configuration succeeds, there's a message in green text indicating that the configuration is done.

Report Services Silent Configuration Parameters

Use the following parameters in the Report Services configuration file (config.json). You don't need to use all of them; it depends on which kind of database you use and whether you're configuring Report Services in domain mode or zone mode. These parameters match what you would enter in the installer interface.

The installer also supplies some sample configuration files (in the Report Services installation folder) that you can use as a guideline, depending on your deployment:

Database type Domain mode Zone mode
Microsoft SQL Server config_sql_server_domain_mode_sample.json config_sql_server_zone_mode_sample.json
PostgreSQL config_postgresql_domain_mode_sample.json config_postgresql_zone_mode_sample.json
ScheduleRule
Parameter name Parameter type Description Example
AdditionalParam string (PostgreSQL only) Use this parameter if you have any additional PostgreSQL parameters that you need to specify.
DBInstallerPath string If you're creating a new database instance, this parameter specifies the location of the database installer file. "DBInstallerPath": "D:\\Common\\SQLEXPR\\SQLEXPRADV_x64_ENU.exe"
DBInstallationPath string If you're creating a new database instance, this parameter specifies where to install the new database instance. For directories or path separators, use \\ instead of \. "DBInstallationPath": "C:\\Program Files\\Microsoft SQL Server\\130"
DBName string If you're creating a new database instance, the name of the new database. "DBName": "Report"
DomainControllers dictionary (Zone mode only) -- key = domain, value = domain controller {"test.com": "dc.test.com"}
DomainMode (Domain mode only) Use this parameter to specify domain mode. Inside of this parameter you specify the domains to synchronize to the reporting database. "DomainMode": { "MonitoredDomains": { "test.com": "dc.test.com", "us.test.com": "dc.us.test.com" } }
ForestsForClassicZones list of string values (Zone mode only) The forest that contains the classic zones
ForestsForHierarchicalZones list of string values (Zone mode only) The forest that contains the hierarchical zones ["companyA.com", "companyB.com"]
InstanceName string (SQL Server only) If you're creating a new database instance, the name of the new database instance. For directories or path separators, use \\ instead of \. "InstanceName": "REPORTS"
IsDeployReport true or false (SQL Server only) Specifies whether or not to deploy reports. "IsDeployReport": true
LogLevel string Specifies the amount of detail that the installer includes in the log file.
The format of the parameter is as follows:
Log level (Off|Critical|Error|Warning|Information|Verbose|Trace)
"LogLevel": "verbose"
MonitoredClassicZones (list) list of string values (Zone mode only) If you use classic zones, use this parameter to specify the list of zones to synchronize with report services. ["test.com/Program Data/Zones/ZoneC", "test.com/Program Data/Zones/ZoneD"]
MonitoredHierarchicalZones list of string values (Zone mode only) The list and location of hierarchical zones ["test.com/Program Data/Zones/hZoneA", "test.com/Program Data/Zones/hZoneB"]
NewDB true or false Specifies whether to create a new database instance or not "NewDB": true
OdbcName string (PostgreSQL only) The name of the ODBC driver to use to connect with the PostgreSQL database. "OdbcName": "PostgreSQL Unicode"
OdbcInstaller string (PostgreSQL only) The path and filename of the PostgreSQL installer file.
Port integer (PostgreSQL only) The port for the PostgeSQL database. If you don't specify this parameter, the default port of 5432 is used. "Port": "5432"
ReportManagerUrl string (SQL Server only) Specifies the report manager URL. You use this URL to edit, publish, and administer reports. "ReportManagerUrl": "http://MYCOMPUTER/Reports_REPORTS"
ReportWebServiceUrl string (SQL Server only) Specifies the web service URL for deploying reports. You use the web service URL to read reports. "ReportWebServiceUrl": "http://MYCOMPUTER/ReportServer_REPORTS"
ScheduleFrequency integer You use this parameter in conjunction with the ScheduleRule setting. With this parameter, you specify the number of hours, days, or weeks to configure how often the report synchronization will happen. For example, if you set ScheduleRule to weekly and you specify ScheduleFrequency to 1, the synchronization will happen every week. If you change the ScheduleFrequency to 3, the synchronization will happen every 3 weeks. "ScheduleRule": "interval", "ScheduleFrequency": 2, The above example specifies that the report synchronization will happen every 2 hours.
stringYou use this parameter in conjunction with the ScheduleFrequency setting. With this parameter, you specify what sets of time to count when scheduling the frequency of report services synchronization. The options that you can specify are "daily", "interval", or "weekly". Interval specifies an hourly interval."ScheduleRule": "weekly", "ScheduleFrequency": 2, The above example specifies that the report synchronization will happen every 2 weeks.
ScheduleStartTime (string)stringSpecifies the time of day to start the report services synchronization, in the 24 hour format of hh:mm:ss."ScheduleStartTime": "14:00:00",
ScheduleWeekDays (list)list of string valuesSpecifies on which days of the week the report services synchronization will happen. You can specify "all" for a daily synchronization or "none" to just do it manually as needed. Otherwise, you can specify one or more of the following for days of the week: "mon", "tue", "wed", "thu", "fri", "sat", "sun""ScheduleWeekDays": ["mon", "wed", "fri"]
Serverstring(PostgreSQL only) The name of the PostgreSQL server."Server":"localhost"
SqlCmdTimeoutintSqlCommand timeout (second)"SqlCmdTimeout": 3300
ZoneMode(Zone mode only) Use this parameter to specify zone mode. Inside of this parameter you specify the MonitoredClassicZones and the MonitoredHierarchicalZones parameters and their respective settings.ZoneMode": { "MonitoredClassicZones": [], "MonitoredHierarchicalZones": [ "test.com/Program Data/Zones/hZoneA" ], "ForestsForClassicZones": [ "test.com" ], "ForestsForHierarchicalZones": [], "DomainControllers": { "test.com": "dc.test.com", "us.test.com": "dc.us.test.com" } }