Command-Line Basics - Deep Security
Command-Line Basics - Deep Security
Get Started > DevOps, automation, and APIs > Command-line basics
Command-line basics
You can use the local command-line interface (CLI) to command both Deep Security Agents and the Deep Security Manager to
perform many actions. The CLI can also configure some settings, and to display system resource usage.
p: You can also automate many of the CLI commands below using the Deep Security API. To get started with the API, see the First
Steps Toward Deep Security Automation guide in the Deep Security Automation Center.
dsa_control
You can use dsa_control to configure some agent settings, and to manually trigger it to perform some actions such
as activation, an anti-malware scan, or baseline rebuild.
In Windows:
In Linux:
Usage
dsa_control [-a <str>] [-b] [-c <str>] [-d] [-g <str>] [-s <num>] [-m] [-p <str>] [-r] [-R <str>] [-t
<num>] [-u <str>:<str>] [-w <str>:<str>] [-x dsm_proxy://<str>] [-y relay_proxy://<str>] [--
buildBaseline] [--scanForChanges] [Additional keyword:value data to send to manager during activation
or heartbeat...]
Parameter Description
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 1/12
12/10/2019 Command-line basics | Deep Security
Parameter Description
-a <str>, -- Activate agent with manager at the specified URL in this format:
activate=<str>
dsm://<host>:<port>/
where:
<host> could be either the manager's fully qualified domain name (FQDN), IPv4 address,
or IPv6 address
<port> is the manager's listening port number
Optionally, after the argument, you can also specify some settings such as the description to send
during activation. See Agent-initiated heartbeat command ("dsa_control -m"). They must be
entered as key:value pairs (with a colon as a separator). There is no limit to the number of
key:value pairs that you can enter, but the key:value pairs must be separated from each other by
a space. Quotation marks around the key:value pair are required if it includes spaces or special
characters.
-d, --diag Generate an agent package. For more detailed instructions, see Create an agent diagnostic
package via CLI on a protected computer.
-p <str> or -- Authentication password that you might have configured in Deep Security Manager previously.
passwd=<str> See Configure self-protection through Deep Security Manager for details. If configured, the
password must be included with all dsa_control commands except dsa_control -a ,
dsa_control -x , and dsa_control -y .
If you type the password directly into the command line, it is displayed on the screen. To hide the
password with asterisks (*) while you type, enter the interactive form of the command, -p * ,
which prompts you for the password.
Example:
dsa_control -m -p *
-r, --reset Reset the agent's configuration. This will remove the activation information from the agent and
deactivate it.
-R <str>, -- Restore a quarantined file. On Windows, you can also restore cleaned and deleted files.
restore=<str>
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 2/12
12/10/2019 Command-line basics | Deep Security
Parameter Description
-s <num>, -- Enable agent self-protection (1: enable, 0: disable). Self-protection prevents local end-users from
selfprotect=<num> uninstalling, stopping, or otherwise controlling the agent. For details, see Enable or disable agent
self-protection. This is a Windows-only feature.
Note: Although dsa_control lets you enable self-protection, it does not let you configure an associated
authentication password. You'll need Deep Security Manager for that. See Configure self-
protection through Deep Security Manager for details. Once configured, the password will need
to be entered at the command line using the -p or --passwd= option.
Note: In Deep Security 9.0 and earlier, this option was -H <num>, --harden=<num>
-t <num>, -- If dsa_control cannot contact the agent service to carry out accompanying instructions, this
retries=<num> parameter instructs dsa_control to retry <num> number of times. There is a 1 second pause
between retries.
-u <user>: If the agent connects through a proxy to the manager, provide the proxy user name and
<password> password, separated by a colon (:). To remove the username and password, type an empty string
( "" ). Basic authentication only. Digest and NTLM are not supported.
-w <user>: If the agent connects through a proxy to a relay for security updates and software, provide the
<password> proxy user name and password, separated by a colon (:).
-x If the agent connects through a proxy to the manager, provide the proxy's IPv4/IPv6 address or
dsm_proxy://<str>: FQDN and port number, separated by a colon (:). To remove the address, instead of a URL, type
<num> an empty string ( "" ). Square brackets must surround IPv6 addresses. For
example: dsa_control -x "dsm_proxy://[fe80::340a:7671:64e7:14cc]:808/"
-y If the agent connects through a proxy to a relay for security updates and software, provide the
relay_proxy://<str>: proxy's IP address or FQDN and port number, separated by a colon (:).
<num>
--max-dsm-retries Number of times to retry an activation. Valid values are 0 to 100, inclusive. The default value is 30.
--dsm-retry- Approximate delay in seconds between retrying activations. Valid values are 1 to 3600, inclusive.
interval The default value is 300.
Enabling agent-initiated activation (AIA) can prevent communication issues between the manager and agents, and simplify agent
deployment when used with deployment scripts.
e: For instructions on how to configure AIA and use deployments scripts to activate agents, see Activate and protect agents using
agent-initiated activation and communication.
dsa_control -a dsm://<host>:<port>/
where:
<host> could be either the manager's fully qualified domain name (FQDN), IPv4 address, or IPv6 address.
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 3/12
12/10/2019 Command-line basics | Deep Security
For example:
dsa_control -a dsm://fe80::ad4a:af37:17cf:8937:4120
You can force the agent to immediately send a heartbeat to the manager.
Like activation, the heartbeat command can also send settings to the manager during the connection.
Cancels an on-
demand
("manual") scan
that is currently
occurring on the
computer.
Initiates an on-
demand
("manual") anti-
malware scan on
the computer.
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 4/12
12/10/2019 Command-line basics | Deep Security
Sets the
externalid
value. This value
can be used to
uniquely identify an
agent. The value
can be accessed
using the legacy
SOAP web service
API.
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 5/12
12/10/2019 Command-line basics | Deep Security
Maximum length
254 characters.
Initiates an integrity
scan on the
computer.
Maximum length
254 characters.
A policy assigned
by an event-based
task will override a
policy assigned
during agent-
initiated activation.
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 6/12
12/10/2019 Command-line basics | Deep Security
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 7/12
12/10/2019 Command-line basics | Deep Security
Initiate a
recommendation
scan on the
computer.
Instructs Deep
Security Manager
to perform a
security update.
Rebuilds the
integrity monitoring
baseline on the
computer.
Instructs Deep
Security Manager
to perform a "Send
Policy" operation.
Activate an agent
To activate an agent from the command line, you need to know the tenant ID and password. You can get them from the
deployment script.
1. In the top right corner of Deep Security Manager, click Support > Deployment Scripts.
2. Select your platform.
3. Select Activate Agent automatically after installation.
4. In the deployment script, locate the strings for tenantID and token .
Windows
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 8/12
12/10/2019 Command-line basics | Deep Security
In PowerShell:
& $Env:ProgramFiles"\Trend Micro\Deep Security Agent\dsa_control" -a <manager URL> <tenant ID> <token>
In cmd.exe:
Linux
Windows
dsa_control -w myUserName:MTPassw0rd
dsa_control -y relay_proxy://squid.example.com:443
Linux
/opt/ds_agent/dsa_control -w myUserName:MTPassw0rd
/opt/ds_agent/dsa_control -y relay_proxy://squid.example.com:443
Windows
dsa_control -u myUserName:MTPassw0rd
dsa_control -x dsm_proxy://squid.example.com:443
Linux
/opt/ds_agent/dsa_control -u myUserName:MTPassw0rd
/opt/ds_agent/dsa_control -x dsm_proxy://squid.example.com:443
Windows
In PowerShell:
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 9/12
12/10/2019 Command-line basics | Deep Security
In cmd.exe:
Linux
/opt/ds_agent/dsa_control -m
Windows
dsa_control -m "AntiMalwareManualScan:true"
Linux
/opt/ds_agent/dsa_control -m "AntiMalwareManualScan:true"
e: You can produce a diagnostic package for a Deep Security Agent computer through the Deep Security Manager but if the agent
computer is configured to use Agent/Appliance Initiated communication, then the manager cannot collect all the required logs.
So when Technical Support asks for a diagnostic package, you need to run the command directly on the agent computer.
Windows
In PowerShell:
In cmd.exe:
Linux
/opt/ds_agent/dsa_control -r
dsa_query
You can use the dsa_query command to display agent information.
Usage
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 10/12
12/10/2019 Command-line basics | Deep Security
Parameter Description
-p,--passwd Authentication password used with the optional agent self-protection feature. Required if you specified a
<string> password when enabling self-protection.
Note: For some query-commands, authentication can be bypassed directly, in such case, password is not
required.
-c,--cmd Execute query-command against the agent. The following commands are supported:
<string>
"GetHostInfo" : to query which identity is returned to the manager during a heartbeat
"GetAgentStatus" : to query which protection modules are enabled, the status of Anti-Malware or
Integrity Monitoring scans in progress, and other miscellaneous information
"GetComponentInfo" : to query version information of anti-malware patterns and engines
"GetPluginVersion" : to query version information of the agent and protection modules
-r,--raw Returns the same query-command information as "-c" but in raw data format for third party software
<string> interpretation.
Example:
dsa_query -c "GetComponentInfo" -r "au" "AM*"
Windows
Use the Task Manager or procmon.
Linux
top
Windows
Use the Task Manager or procmon.
Linux
ps -ef|grep ds_agent
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 11/12
12/10/2019 Command-line basics | Deep Security
or
/etc/init.d/ds_agent restart
or
Some actions require either a -tenantname parameter or a -tenantid parameter. If execution problems occur when you use
the tenant name, try the command using the associated tenant ID.
https://help.deepsecurity.trendmicro.com/command-line-utilities.html 12/12