< Previous Next >

Script Commands for Android Plus Devices

Use the options and examples below to help you create your own powerful script commands.

Note: Not all script commands are compatible with all devices within a platform. Limitations are noted in the table entries.


Format Meaning
text Type the command exactly as presented.
text Information that the user must provide.
[text] Information contained within square brackets is optional to the command.
text|text Information separated by a vertical bar represents a set of choices from which the user must choose only one.


Command Description Syntax
abortpkg Halts the installation of a package and forces the installation status in the MobiControl console to report "Failed" when used in a MobiControl pre-install script.

See Using Package Studio for more information.

agent_mode Retrieves the current agent mode (user or administrator) of a device with lockdown mode applied and displays it in the Logs section of the Device Information panel. agent_mode
afw_prevent_uninstall Prevents the device user from uninstalling an application that was installed using packages.

Supported on Android Enterprise devices only.

afw_prevent_uninstall bundleID enable|disable

Where bundleID is the bundle id of the application whose uninstallation you want to prevent.


To prevent the device user from uninstalling the Google Photos app:

afw_prevent_uninstall com.google.android.apps.photos enable

afw_set_permission_policy Sets the default response for future runtime permission requests by the MobiControl device agent afw_set_permission_policy prompt|grant|deny|clear


  • prompt prompts the device user for all permissions
  • grant automatically grants all permissions that an application requires
  • deny automatically denies all permissions that an application requires
  • clear resets the policy to the agent define default state
appcontrol Applies blacklist rules. This command supports a limited set of parameters. appcontrol [-s|-b|-w] containerID


  • -s clears application run control rules
  • -b adds an application to the blacklist
  • -w adds an application to the whitelist
  • containerID is the ID of the application


To add the Facebook app to the blacklist:

appcontrol -b com.facebook.appmanager

batteryoptimize Specifies if an application should adhere to the battery optimization restrictions.
Note: Supported on Samsung Android devices with Samsung MDM 5.7 or later, that are enrolled with either a 13.6 Samsung ELM agent or a 13.6 Android Enterprise with Samsung ELM license enabled agent.
batteryoptimize allow | disable package


To add an application to the Battery Optimization whitelist (app will ignore battery optimization restrictions):

batteryoptimize disable com.microsoft.office.outlook

To remove an application from the Battery Optimization whitelist (app will follow battery optimization restrictions):

batteryoptimize allow com.microsoft.office.outlook

certdelete Deletes a certificate on the device
Note: You can only use certdelete to remove certificates that were installed by MobiControl unless the device has a Samsung ELM agent installed, in which case certdelete will remove any specified certificates.
certdelete -issuer "IssuerName" -sn "SerialNumber" -storage "storage"


  • IssuerName is the common name of the certificate issuer
  • SerialNumber is the serial number of the certificate
  • storage is the type of storage into which to import the certificate


To delete a certificate issued by apache.org:

certdelete -issuer "*.apache.org" -sn 00A03DB42A7841AFF5

certimport Imports a user-specified certificate of X.509 type, which could be either DER or Base64 encoded. certimport -cert "filepath" -ctype certificate_type -pwd "password" -itype "install_type" -storage "storage_type"


  • filepath is the relative or absolute path of the certificate (.cer) file to import.
  • certificate_type is either CERT or PKCS12
  • -pwd "password" -itype "install_type" -storage "storage_type" are optional arguments and do not need to be included in the script
  • "password" is a string with the pfx password
  • "install_type" is either silent (default) or ui
  • storage is the storage location into which to import the certificate. MY, the only supported alternative option, installs the certificate in a keystore only usable from MobiControl. It's recommended to omit the -storage argument


To import a certificate test.cer into current user storage:

certimport -cert "test.cer" -ctype CERT

connect Prompts the device agent to attempt to connect to the deployment server connect [-f]

Where -f forces the device agent to connect regardless of configuration or setup settings.


To connect to the deployment server regardless of configuration or setup settings:

connect -f

copy Copies one or more files to another location.

On Windows Mobile/CE and Desktop Classic devices, files can be copied between desktop computers and mobile devices.

On Android devices, files can only be copied locally.

copy source destination


To copy all files with the extension .txt from the C:\ to the temp directory on the device:

C:\tempt\*.txt 1:\temp

del Deletes one or more files del filename


To delete example.txt in the current directory:

del example.txt

To delete all files with the extension .tmp in the current directory and its subfolders:

del *.tmp

devrename Renames a device devrename newDeviceName

If the name contains spaces, use quotation marks


To change the name of a device to Apricot Candy:

devrename "Apricot Candy"

disconnect Disconnects the device from the MobiControl deployment server disconnect
elm_awaken Adds or removes the Samsung ELM agent to/from Android Doze Mode whitelist, enabling the agent to circumvent battery optimizations that limit connectivity between the agent and the deployment server.

Available on Samsung devices running Android 6.0 or later and KNOX Standard SDK 5.7 or later.

elm_awaken 0|1


To add ELM agent to whitelist:

elm_awaken 1

To remove ELM agent from whitelist:

elm_awaken 0

enable_system_app Allows a system application on the device to be used in the Android Enterprise container.
Note: Only applications that are included in the device's firmware can be used in this command.
enable_system_app appBundleID


To add Google Chrome to the Android Enterprise container:

enable_system_app com.android.chrome

finishpkg Finishes the current script without processing the rest of the package and reports package installation as successful to the deployment server. This is useful particularly in packages that involve wiping a device. This script command can be used to skip reinstalling the package but still report back as successfully installed to the deployment server.

If a hard reset is initiated from a package's post-install script, the entire package will reinstall after the reset. A check can be included in the pre-install script that determines whether the package's files have already been installed.

Note: This command is not useful as a script command in and of itself but in the event of a package that involves a cold boot.


If a package's post-install script contains:

md "1:\PersistantStorage\subfolder"reset /w

then the pre-install script could contain a check to prevent the package from being reinstalled endlessly:

if exist "1:\PersistantStorage\subfolder" finishpkg

foregroundmode Switches the MobiControl service between foreground and background modes. While running in foreground mode the MobiControl process receives high priority and is not killed by the system.

While the service is running in foreground mode, a MobiControl icon is displayed in the notification area of the device.

foregroundmode enable|disable


To enable foregroundmode

foreground enable

ftp Copies a file or directory from an ftp server ftp [get|mget|wget] [-r,-o] source destination


  • get copies a file on the ftp server to the local computer
  • wget copies a file on the local computer to the ftp server
  • -r specifies recursive
  • -o specifies to override existing files


To copy a file from ftp to local SD card on the device:

ftp get -o

To copy a folder from the device to ftp server:

ftp wget -o -r ftp:://user:password@server/folder %sdcard%www

identify_activity Identifies the current top activity on the device identify_activity
identify_package_certificate Identifies the signature of a package and displays it in the device ADB logs identify_package_certificate packageName


identify_package_certificate com.my.helloworld

ifconfig Displays the configuration of the network interfaces on the MobiControl console ifconfig interfaceName

Where if no interfaceName is provided, then all is used as the default and lists all interfaces.

Use -i with all to display the interface names only.


To list all interface names:

ifconfig all -i

To show the configuration of eth0 interface

ifconfig eth0

install Installs an application on the device install appInstallerPath

Where appInstallerPath is the full path to the application installer file on the device


To install the Gmail app located on an sd card:

install /mnt/sdcard/Gmail.apk

install_system_update Installs a system update from the specified file

This device cannot be used on encrypted devices. Use the sendintent command instead.

install_system_update filename


To install a system update from a file on an SD card:

install_system_update /sdcard/et1.zip

Note: If /sdcard does not work, use /storage/sdcard0 instead, as in:

install_system_update /storage/sdcard0/et1.zip

installpackage Installs a MobiControl package built using Package Studio
Note: This command is not recursive and can only be used through the console or an API call to install a previously sideloaded package. It is not intended for use within one package to install another package.
installpackage pathToPackage


To install a package from the %tmp% folder:

installpackage %tmp%package1.pcg now

ipaddr Lists the IP addresses of the device ipaddr
kill_application Terminates a process that is currently running on the device kill_application packageName


To terminate the Angry Birds game process on the device

kill_application com.rovio.angrybirds

list_volumes Lists storage volume information of remote managed device. The results are displayed using a custom event on the console list_volumes
lock Turns the device screen off and locks device until device user enters the correct password lock
lockdownorientation Sets orientation of the device lockdown (kiosk) screen lockdownorientation orientation

Where orientation is either landscape or portrait

Note: Setting any parameter other than landscape or portrait causes the kiosk screen to default to landscape for Android Honeycomb (3.0) and later, and to portrait for Android Gingerbread (2.3).


To set the orientation of the lockdown screen to landscape:

lockdownorientation landscape

To set the orientation of the lockdown screen to portrait:

lockdownorientation portrait

log Sends a customs message to the MobiControl deployment server from the device. This message appears in the Logs tab of the Device Information panel in the MobiControl console. log type message

Where type is the type of the associated message and the options are:

  • -e for Error
  • -w for Warning
  • -i for Information


To send a notification to the MobiControl console at certain intervals during a software push:

Note: Put the command in the pre-install script

log -i "Starting Software Push"

malwarescan Initiates a Webroot scan for malware on the device malwarescan
mkdir or md Creates a new directory mkdir [drive:] path


To create a directory named "test" from the current directory:

mkdir test

To create test\test1\test2\test3 recursively:

mkdir test \test1 \test2 \test3

mxconfig Submits XML configuration instructions to the MX layer of the device.
Note: This script command is only applicable on Zebra Android devices. mxconfig uses the StageNow XML format (MXMS)
mxconfig xmlFilepath


mxconfig /sdcard/test.xml

mxxmlconfig Executes an xml command from the inputPath and puts the result into the outputPath.
Note: This command is only supported on devices that support the older XML format (MX Legacy).
mxxmlconfig inputPath outputPath


  • inputPath is the path to an xml file containing configuration settings for MX XML API.
  • outputPath is the path to a folder for the script execution result
notify Sends a script that notifies other SOTI applications about data sync. You can use it to notify lockdown applications that lockdown view synchronized.

Added in v9 to support re-enrolling a device on another MobiControl system

notify alias or notify package receiver

Where alias is a friendly name for the kiosk app.


To notify kiosk about data sync:

notify kiosk or

notify net.soti.mobicontrol.lockdown net.soti.mobicontrol.lockdown.LockDownUpdateReceiver

promptpasswordchange Prompts user to change or set a password on their device by displaying a "Password Policy Pending" notification in the device agent. promptpasswordchange
rem Inserts a comment line in a script/batch file. rem [comment]


To add a comment about pumpkins:

rem The pumpkins are looking great this harvest

removemanagedinfo Removes Samsung managed info for specified applications
Note: This command is only available on Samsung devices.
removemanagedinfo packageName
reset Performs a soft or hard reset of the device reset [/S | /H | /W | /E] [/delaysec]


  • /S is the default option and soft resets the device. Any desktop remote control sessions will also be terminated.
  • /H is used to hard reset a device running on the Windows Pocket PC or Windows CE platforms. It clears any data stored in the volatile memory. On Windows Mobile 5.0 and later devices this is equivalent to a soft reset. The real-time clock may also reset depending on the device make and model.
  • /W is used to wipe data stored on the device and reset the device to factory default settings.
    Note: The wipe command is only supported on the Windows Mobile 5 operating system with AKU2 or later and newer versions of Windows Mobile.
  • /E is used to wipe data stored on the device and its external storage as well as reset the device to factory default settings.

On Android Plus devices it is possible to specify a /delay parameter (in seconds): reset /S /delay 10

If /delay parameter is not defined, the default value is 5 seconds


To soft reset a device:

reset /S

To reset an Android Plus device to its factory settings in 30 seconds:

reset /E /delay 30

resetpassword Resets device password to new password resetpassword newPassword


To reset current password to password12345

resetpassword password12345

resetwifiproxy Clears proxy configuration settings for the specified SSID (which should exist on the device before sending the command).
Note: Supported on devices running Android 4.0 or later.
resetwifiproxy ssid


To reset a proxy configuration for SSID 105:

resetwifiproxy 105

restartagent Restarts the device agent restartagent
rmdir or rd Deletes a directory rmdir [/S] path

Where /S removes any subdirectories

On Android Plus and Linux devices, this command requires the /S option and will delete the specified item whether it is a directory or a file.


To remove an empty directory named "test" from the current directory:

rmdir test

To remove a directory named "test" and all of its contents from the current directory:

rmdir /S test

To provide location:

rmdir /mnt/sdcard/test

sendinfo net.soti.action.surf BROWSERZOOMLEVEL Sets the zoom level in the SOTI Surf app. sendinfo net.soti.action.surf BROWSERZOOMLEVEL value

Where value is a percentage that represents the level of zoom.


To set the zoom level of the SOTI Surf app to 400%:

sendinfo net.soti.action.surf BROWSERZOOMLEVEL 400

sendintent Sends intent to devices

See The sendintent Command for more information

sendreport Sends a debug report from the device agent to the SOTI ftp server sendreport
set_system_update_policy Configures the system update policy for Android devices with work feature enabled.
Note: Only supported on Android devices running Android 6.0 or later and with Android work features enabled.
set_system_update_policy policy type [startTime] [endTime]


  • policy type specifies the behaviour of the update policy with the following options:
    • 0 is the default option and represents the platform's default behaviour
    • 1 is Automatic. The system update installs automatically as soon as an update is available
    • 2 is Windowed. The system update is only installed automatically when the system clock is inside a daily maintenance window. The maintenance window lasts for 30 days after which the system reverts to the default policy.
    • 3 is Postpone. The system update can be postponed a specified length for a maximum of 30 days. After expiration, the system reverts back to default policy.
  • startTime is the start of the maintenance window. Only applicable on the Windowed policy type. Time
  • endTime is the end of the maintenance window. Only applicable on the Windowed policy type.
Note: Regarding the time parameters for Windowed policy: Time parameters are measured as the number of minutes from midnight in the device's local time. They must be in the range of 0-1440.

If the start and end times are the same, the window is considered to include the WHOLE 24 hours, that is, updates can install at any time. If start time is later than end time, the window is considered to span midnight.


To set the system update policy as default:

set_system_update_policy 0

To set the system update policy as windowed with the maintenance window set to occur from 11 pm to 3 am:

set_system_update_policy 2 1380 180

setfirewallproxy Sets proxy configuration on device level (iptables based).
Note: Supported on devices with Samsung MDM v2 and later only.
setfirewallproxy host port containerID


setfirewallproxy 8080

setlocale Sets the device's default locale
Note: Supported on Motorola Android Plus devices with a signed agent only.
setlocale locale
setmobiledata Enables or disables mobile data on a device
Note: These settings may conflict with device feature control, and settings are non-restrictive and non-persistent.
setmobiledata 0|1

Where 0 disables mobile data and 1 enables mobile data.


To disable mobile data:

setmobiledata 0

To enable mobile data

setmobiledata 1

setradioenable Enables or disables WiFi, Bluetooth, or cellular networks for the device. If the phone radio is disabled, no telephony functionalities in terms of both audio and data can occur. A phone reboot will typically re-enable the radio again.
Note: These settings may conflict with device feature control, and settings are non-restrictive and non-persistent.
setradioenable wifi|bt|phone 0|1


  • wifi is WiFi
  • bt is Bluetooth
  • phone is Cellular
  • 0 disables the radio
  • 1 enables the radio


To disable Bluetooth radio

setradioenable bt 0

To enable WiFi

setradioenable wifi 1

setwifiproxy Sets WiFi proxy settings using a provided host and port for the specified SSID. The access point ID should exist on the device before sending this command.
Note: Supported on devices running Android 4.0.
setwifiproxy ssid host port


To set up a WiFi proxy:

setwifiproxy 105 8080

setwifipacurl Sets WiFi proxy settings using a provided PAC file. The access point ID should exist on the device before sending this command.
Note: Supported on devices running Android 4.0.
setwifipacurl ssid PACfileURL


To set up a WiFi proxy using a PAC file:

setwifipacurl 105 https://website.com/proxy.pac

showmessagebox Displays a message box on the device screen
Note: The Android Plus agent has the following limitations:
  • It does not support a complex showmessagebox that contains more than one command
  • It cannot return the user response
  • It does not support "if" and related keywords
showmessagebox message [timer] [type] [default button]


  • message is the message displayed in the message box. Use quotation marks (" ") if there are spaces in the message.
  • [timer] is the number of seconds until the message box disappears automatically. If you omit a timer value or add the keyword NO_TIMER, the message box will persist until the device user dismisses it.
  • [type] is type of of message box. Options are:
    • 1 displays an information window with an OK button
    • 2 displays a question window with Yes and No buttons
    • 3 displays a warning window with an OK button
    • 4 displays a question window with OK and Cancel buttons
    • 5 displays an error window with an OK button
  • [default button] sets the default buttons for message box types 2 (YES | NO) or 4 (OK | CANCEL)

The return values for the showmessagebox are stored in a global variable, ShowMessageBoxReturn This variable can be used in scripts as %ShowMessageBoxReturn% to execute actions based on user response. Possible return values are IDYES, IDNO, IDOK, IDCANCEL. The value for this global variable does not change if the type is not 2 or 4.


To show a simple message:

showmessagebox "This is a test message"

To provide device information using a macro:

showmessagebox "Your device's IP address is %IP%"

To set a 3 second timer to your message:

showmessagebox "This is a test message with a 3 second timer" 3

To add YES and NO buttons to your message box with no timer

showmessagebox "This is a test message with Yes/No button and no timer" NO_TIMER 2

To provide followup actions to a user response to message box:

showmessagebox "Abort the operation?" NO_TIMER 4 YES
if %ShowMessageBoxReturn% == IDYES goto Exit
shutdown Turns off the device shutdown [delay]

Where delay is a time period in seconds.


To turn off the device:


To turn off the device in 25 seconds:

shutdown 25

sleep Initiates sleep mode on the device for a set period. Only use this command in scripts. sleep [length]

Where length is in seconds


To set the device to sleep for 5 seconds:

sleep 5

sleepex Initiates sleep mode on the device for a set period. Only use this command in scripts. sleep [length]

Where length is in milliseconds


To set the device to sleep for 3.5 seconds:

sleep 3500

start Starts a program on the device. When the /wait option is specified, the script processor waits for the initiated program to terminate before executing the next command in the script. start [/wait] program
Note: On Windows devices, program must be enclosed in quotation marks.


To start Pocket Word and wait until it is terminated:

start /wait "\software\apps\pword.exe"

turnoff Shuts down the device. You can specify a delay (in milliseconds) before shutdown. turnoff [time]


To turn off the device in 3.5 seconds:

turnoff 3500

uninstall Removes the specified program from the device. uninstall [/w] program


  • /w delays the uninstallation for the specified amount of time in seconds
  • program is the program ID for the program you want to uninstall


To remove the program Google Maps:

uninstall com.google.maps

uninstall_agent Removes the agent from the device, cleaning up any previously applied policies. This process can take up to 30 seconds.
Note: This command cannot uninstall a Samsung ELM agent due to permission limitations. Additionally, some feature modules do not handle wipe/rollback properly and can hamper a clean uninstall.
unlock Unlocks the device and dismisses the password lock screen unlock
updatedefinitions Prompts Webroot to update its malware definitions updatedefinitions
wifiapenable Enables or disables WiFi mobile access point.
Note: Supported on devices running Android 4.0 or later with Android Plus capabilities.
wifiapenable 0|1

Where 0 disables WiFi and 1 enables WiFi


To disable WiFi:

wifiapenable 0

wifireconnect Forces the device to drop a WiFi connection and reconnect.
Note: Supported on devices running Android 4.0 or later with Android Plus capabilities.
wipeapplication Wipes application data for the specified application from the device wipeapplication packageName
writeprivateprofstring Saves or deletes specified settings on a device

See The writeprivateprofstring Command for more information

writesecureprofstring This command has the same functionality as writeprivateprofstring except that the data that is being written is not logged.

See writeprivateprofstring for more information.


© 2019 SOTI Inc. Email: support@soti.net