Additional Tools
3 minute read
Docusnap allows you to execute certain additional tools when performing a Windows system inventory scan.
An example of such an additional tool is the Systeminfo.exe application. Docusnap will start Systeminfo.exe after using the defined arguments after completion of the inventory scan. The result data returned by the tool will be saved in the database.
To add a desired tool, click the New button. You can choose the name freely. The name you specify will also be used as the results file name. Enter the name and path of the executable in the Program Path field or select it by clicking the button. The parameters you specified will be provided to the tool upon execution. Indicate optional parameters by square brackets ("[ ]"). If no parameters are required, at least one blank space must be entered in order for the additional tool to be saved.
For the Type field, two options are available:
- File
When you select File, the tool will create a temporary file on the hard disk where the returned results will be saved. When the inventory scan has completed, this file will be imported and saved in the database. You can use the %targetfile% parameter to redirect the data into a results file. For example: “Systeminfo.exe > %targetfile%” causes the resulting data to be saved in the results file defined in the text field. - Stream
If you select the Stream option, the results from the standard output will be written to the database immediately. In this case, however, the cmd.exe program will be visible for a short time.
In the Timeout field, you can indicate how much time the tool may take to complete. If this period is exceeded, the tool will be terminated by Docusnap.
In the Open with field, you can define the program to be used for opening the results file.
The Run Additional Tool Remotely checkbox defines whether the program runs on the system where the inventory process is taking place or remotely on the currently inventoried system.
If the additional tool is executed on the system running Docusnap, the program must be available only on that system.
If the additional tool is to be run remotely, then the program must be present on the systems being inventoried for it to run.
Before you can select additional tools for the inventory process, the Additional Tools checkbox in the Configuration - Inventory dialog must be enabled.
Docusnap provides the following environment variables:
- %Hostname%, %Computername%
- %Ipadress%, %Ipadresse%
- %Domainname%, %Domain%, %Domäne
- %ShortHostname%
- %FQDN%
- %Username%, %Benutzer%
- %Password%, %Passwort%
- %Targetfile%, %Zieldatei%
- %Description%, %Beschreibung%
- %Tool%, %Toolname%
- %accountname%
Exception: single sign-on
If a user name and password are not entered for logging onto the domain in the Authentication step (single sign-on), you should declare the %username% and %password% parameters as optional parameters in square brackets. This ensures that no empty user name or empty password will be used.Examples local execution:
A:
- Name: System info
- Program Path: systeminfo.exe
- Parameters: /S %hostname% [/U %username% /P %password%] > %targetfile%
- Results File: systeminfo.txt
- Open with: notepad.exe
- Type: File
B:
- Name: System info
- Program Path: systeminfo.exe
- Parameters: /S %hostname% [/U %username% /P %password%]
- Results File: systeminfo.txt
- Open with: notepad.exe
- Type: Stream
Example remote execution: Power Shell
- Name: Demo - Remote Powershell
- Program Path: %systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe
- Parameters: (get-wmiobject win32_Operatingsystem)
- Results File: PowerShellDemo.txt
- Open with: notepad.exe
- Type: Stream
If PowerShell is defined as an additional tool, the special characters | and " must be escaped so that they can be used in the parameters. Quotation marks " must be escaped with \" and pipes | must be escaped with ^|. If the syntax -Command “&{}” is used, the special character | (pipe) does not have to be escaped.
- ipconfig ^| Select-String -Pattern \"IPv4 address\" (escape required)
- -Command "&{ipconfig | Select-String -Pattern \"IPv4 address\"}" (No escape of the pipe required)