Data Masker Logo

[Net 2000 Ltd. Home][Data Masker Home][Data Masker Manual][Data Masker FAQ]

Data Masker Command Line Arguments

The Data Masker application can be run in batch mode from a DOS command line or Windows based scheduler in order to automate the masking of data in a target database.

Automated masking and exit is controlled by providing the appropriate command line options when the application starts. The options required to automate the masking process are:

<Masking Set Filename>
The name of the masking set to load. This must be a full path including the drive and directory information. The Data Masker software will not use default directories in command line mode. If the masking set filename contains spaces, remember to enclose it in double quotes when placing it on the command line otherwise the Windows operating system will present it to the Data Masker software as multiple command line options.

-R
The signal to Run the masking set and perform the masking operations.

-X
The signal to eXit after the masking set has completed. In order to determine if the masking set completed successfully or failed with an error it is necessary to examine the application exit code (see the discussion below).

-D <param>
The Database substitution parameter. The masking set can be configured with dummy server and database information in the Rule Controllers and have that information substituted by the command line. This functionality enables the target of a masking set to be determined at runtime. The format of the database substitution parameter is always

<DummyServerName>[DummyDatabase]=<RealServerName>[RealDatabase]

The Database Substitution Parameter section below contains more information and examples.

-S <param>
The login Substitution parameter. The masking set can be configured with dummy login information in the Rule Controllers and have that information substituted by the command line. This functionality enables the target of a masking set to be determined at runtime. The format of the login substitution parameter is always

<DummyLogin>@<DummyServerName>[DummyDatabase]=<RealLogin>/<RealPassword>@<RealServerName>[RealDatabase]

The Login Substitution Parameter section below contains more information and examples.

If the Masking Set filename is specified and the -R option is omitted then the Data Masker application will simply load the Masking Set and return to manual operating mode.

Exit Codes

When run from a command line, the Data Masker software will return an exit code via the standard DOS mechanism. If the last run of the masking rules was a success then this exit code will always be zero. Any non-zero exit code implies that an error occurred while opening the masking set or while running the masking rules. If a non-zero exit code is returned the log file should always be examined to determine the error that occurred. Some of the more common exit codes are:

101
The masking set was not found. See the log file for more information.
201
The masking set run was canceled by user request.
301
Errors occurred during the run of the masking set. See the log file for more information.
1000-1999
Errors occurred during the pre-run checks of the masking set. See the log file for more information.

The exit code value is returned using the Windows standard mechanisms and can be determined via any of the available Windows methods. The most common way to view the return code is by using the DOS echo %errorlevel% command. The script output below shows such an operation. The 301 exit code means the masking set execution failed with an error.

C:\Program Files\Data Masker (Sql Server)>start /wait Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X
C:\Program Files\Data Masker (Sql Server)>echo %errorlevel%
301
C:\Program Files\Data Masker>
Important Note: The Start /Wait Command

There is an important consideration which must be noted when launching Windows applications from a command line. The Command application will, by default, launch a Windows application as a separate process. Once started, the Command application will not monitor the running Windows application process. In effect, this behaviour means that immediately after launching the Windows application, the Command application will return to the DOS prompt and continue with the next command statement. It is not possible to retrieve the exit code in such circumstances and the next operation in the Command application will begin to process long before the masking set has completed.

If it is necessary for the Command line application to wait until the masking set has executed (and the Data Masker software has shutdown) before it executes the next operation, then the Data Masker software must be launched with the DOS start /wait command. The example below illustrates these concepts:

C:\Program Files\Data Masker (Sql Server)>REM the errorlevel will be set and the next command will only
C:\Program Files\Data Masker (Sql Server)>REM    be performed once the masking set is complete
C:\Program Files\Data Masker (Sql Server)>start /wait Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X
C:\Program Files\Data Masker (Sql Server)>echo %errorlevel%
C:\Program Files\Data Masker (Sql Server)> ... perform next command

C:\Program Files\Data Masker (Sql Server)>REM the errorlevel will always be zero and the next command will be C:\Program Files\Data Masker (Sql Server)>REM performed immediately without waiting for the Data Masker software C:\Program Files\Data Masker (Sql Server)>REM to complete C:\Program Files\Data Masker (Sql Server)>Datamasker.exe C:\Net2000\DMS_TestSets\DMTest.DMSSet -R -X C:\Program Files\Data Masker (Sql Server)>echo %errorlevel% C:\Program Files\Data Masker (Sql Server)> ... perform next command

The Database Substitution Parameter
The Database Substitution Parameter always follows the -D command line option and is used to replace dummy values configured in the Rule Controller with values specified on the command line. The format of the database substitution parameter is always

<DummyServerName>[DummyDatabase]=<RealServerName>[RealDatabase]

For example, a Rule Controller might be configured with a server name of XXXX, and a database name of YYYY. In that case, a command line with the option -D XXXX[YYYY]=XANTHE\MSSDMTEST[DMTest] would check each Rule Controller in the masking set and substitute the real server and database information of XANTHE\MSSDMTEST in place of XXXX and the database name DMTest would be substituted in place of the dummy value YYYY . The dummy values of serve as place holders for the real information and allow the appropriate Rule Controller to be updated at run time. A masking set can have multiple Rule Controllers. In that circumstance, multiple substitution parameters can be configured as shown below:

-D XXXX[YYYY]=XANTHE\MSSDMTEST[DMTest] -D AAA[BBBB]=CHRYSE\SQLSERVER2000[Pubs]

The Login Substitution Parameter

The Login Substitution Parameter always follows the -S command line option and is used to replace dummy values configured in the Rule Controller with values specified on the command line. The format of the login substitution parameter is always

<DummyLogin>@<DummyServerName>[DummyDatabase]=<RealLogin>/<RealPassword>@<RealServerName>[RealDatabase]

For example, a Rule Controller might be configured with a login of FOO, a server name of BAR, and a database name of ABCDB. In that case, a command line with the option -S FOO@BAR[ABCDB]=DataMasker/ItIsSecret@XANTHE\MSSDMTEST[DMTest] would check each Rule Controller in the masking set and substitute the real login information of DataMasker/ItIsSecret@XANTHE\MSSDMTEST in place of FOO@BAR and the database name DMTest would be substituted in place of the dummy value ABCDB . The dummy values of serve as place holders for the real information and allow the appropriate Rule Controller to be updated at run time. A masking set can have multiple Rule Controllers. In that circumstance, multiple substitution parameters can be configured as shown below:

-S FOO@BAR[ABCDB]=DataMasker/ItIsSecret@XANTHE\MSSDMTEST[DMTest] -S AAA@BBB[ABCDB]=DataMasker/SecretPassWord@CHRYSE\SQLSERVER2000[Pubs]

Examples

Load a Masking Set file only
start /wait DataMasker.exe "C:\Program Files\Data Masker Sql Server\Masking Sets\pubs.DMSSet"
Load, Run and Exit
start /wait DataMasker.exe "C:\Program Files\Data Masker Sql Server\Masking Sets\pubs.DMSSet" -R -X
Load, Run and Exit and Substitute login details
start /wait DataMasker.exe "C:\Program Files\Data Masker Sql Server\Masking Sets\pubs.DMSSet" -R -X -S FOO@BAR[ABCDB]=DataMasker/ItIsSecret@XANTHE\MSSDMTEST[DMTest]


[Net 2000 Ltd. Home][Data Masker Home][Data Masker Manual][Data Masker FAQ]