Permissions Reporter accepts several command line arguments to facilitate scheduling and automation. The command line can also be used just to load a specific project on start-up.
Each command line argument is explained in more detail below.
Required Arguments
Execution via the command line requires that you use either the "/project" or "/compare" parameters to either execute an existing project or compare two existing XML exports (respectively).
/project [project.xml]
You must provide a fully qualified path to an existing project file to execute. If you haven't already created and saved a project file, you can do so from within the main program interface. The project file contains everything required to generate a permissions report, including folder paths, filter settings, etc.
/compare /source [source.xml] /target [target.xml] /export [results.xlsx]
Use this parameter if you wish to trigger the comparison of two existing source and target XML permissions data files and then export the result.
When using the compare parameter, the source, target, and export command line parameters are also required. All paths should be full qualified (relative paths are not supported). The startPath argument can also be used (see below for details) when comparing reports.
Important: Permissions comparison data exports area available in two file formats - CSV (.csv) or Excel (.xslx), depending on the export file extension you specify.
Additional Arguments
/export [results.html]
Use this parameter to trigger the creation of one or more export files after the permissions report has been generated. All export paths must be fully qualified.
The format of the resulting file is determined by the file name extension used in the export path. Supported output file types include HTML (.html), XML (.xml), MS Excel (.xlsx) and CSV (.csv).
Multiple file system paths can be specified by separating them with a pipe symbol.
/email [address@domain.com]
Use this parameter to send all export files created via the /export parameter to a user via email. All export files will be zipped into a single file prior to being emailed. In order to use this feature, you must first configure and test email integration settings within the global options window. Multiple email addresses may be specified, separated by a comma or semicolon. Before using this feature, test to ensure that the size of export files being generated are within acceptable limits for transmission via email.
/appenddate
Use this parameter to automatically append a date/time stamp to the end of any export files. The format of the appended date/time string is "yyyyMMdd_HHmmss" (so, for example, an export path of "c:\temp\report.html" might become "c:\temp\report_20150414_091000").
/startpath
When using the compare command line option, this parameter will start the comparison process at the specified folder node (if present). If you don't specify this option, the root folder paths will be compared.
/savelog [log.csv]
The parameter saves the current in-memory error log to the specified path in CSV file format. If the target log file already exists, it will be overwritten. Use this parameter when troubleshooting command line operations.
/exportconfig [config.xml]
This parameter will load export configuration data from the specified file path, thereby allowing you to specify which data elements (including columns) should be exported.
/folders [paths.txt]
If this optional parameter is specified, it will be used to override the folder list specified in the project file (see "/project" parameter above).
This parameter can accept a set of paths in one of two formats. If you pass a text file path (ending in the .txt file extension), project folder paths will be read from it directly - assuming one path per line in the text file. Alternatively, you can pass in one or more explicit folder paths, each separated by pipe symbols. See below for examples.
Purging Old Export Files
The command line interface allows you to permanently purge existing export files older than a given number of days.
IMPORTANT: Incorrect use of this feature could cause unexpected data loss. Make sure you understand exactly how it works (and which files will be affected) and test thoroughly before using it.
When the "/purgeolderthan" command line parameter is used, Permissions Reporter will remove ALL report file types (HTML, XML, CSV, PDF, etc.) older than the specified number of days from ALL report output folders. Such files will be removed regardless of what user or program created them. This process will occur each time the command line operation executes.
We strongly recommend that you only use this option in cases where your report output folders are dedicated to the retention of Permissions Reporter reports (and nothing else).
Important Note
On modern Windows operating systems, the Windows task scheduler (which is leveraged by Permissions Reporter for scheduling) runs all tasks non-interactively (e.g. "hidden") unless you specifically configure them to "run only when user is logged on".
For this reason, when run via the scheduler Permissions Reporter will always run silently and exit automatically upon task completion.
Examples
permissionsreporter.exe /project "c:\project.xml" /export "c:\output.html"
Runs using the specified project file, and exports the resulting report as HTML.
permissionsreporter.exe /project "c:\project.xml" /export "c:\output.htm l |c:\output.xml" /email "address@domain.com"
Runs using the specified project file, and exports the resulting report as both HTML and XML. These export files are then both zipped and emailed to "address@domain.com".
permissionsreporter.exe /project "c:\project.xml" /folders "c:\folders.txt" /export "c:\output.html"
Overrides the folders specified in the project file by reading them (one path per line) from "c:\folders.txt".
permissionsreporter.exe /project "c:\project.xml" /folders "c:\folder1 | c:\folder2" /export "c:\output.html"
Overrides the folders specified in the project file by specifying one or more explicit folder paths (separated by pipe symbols).
permissionsreporter.exe /compare /source:"c:\source.xml" /target:"c:\target.xml" /export:"c:\output.xlsx"
Generates a permissions comparison report in Excel format based on the specified source and target XML files.