1. Help Center
  2. Features
  3. Mobile Device Management (MDM)

Mobile Device Management (MDM)

Table of Contents

Mobile Device Management tools such as Microsoft Intune are great ways to help your enterprise environment deploy and configure applications. This article will give you some instructions on how to configure AnyDesk through your MDM tool.

Deployment

Note:

While AnyDesk provides packages that allow the deployment of it through third-party deployment tools, this cannot be supported by the AnyDesk Support team due to the wide variety of different tools.

For questions on how to deploy third-party installer packages on your deployment tool, please refer to the vendor of the tool directly as well as our example installation scripts below.

AnyDesk provides a wide variety of packages to help you deploy it using third-party deployment tools.

We offer the MSI package for Windows (custom client only), PKG for macOS (custom client only), Google Play Store link for Android, and App Store link for iOS.

Example installation scripts can be found in our Help Center for Windows and macOS.

Back to Top

Configuration through MDM for macOS

Configuring the AnyDesk client for macOS (Version 6.4.0 or newer) through a mobile device management tool requires the modification and upload of an XML file.

The XML is in the .MOBILECONFIG format and made up of several XML groups:

  1. PayloadContent
  2. PayloadScope
  3. PayloadUUID
  4. PayloadDisplayName
  5. PayloadIdentifier
  6. PayloadType
  7. PayloadVersion

PayloadContent

XML Tag Description Value Type Value Possibilities
PayloadContent This XML group contains the action MDM configuration. The following tags belong to this group.  
<dict>...</dict>
PayloadDisplayName Name of the configuration profile. This will appear in System Preferences > Profiles on the deployed macOS device. string
e.g. Company A's AnyDesk Configuration
PayloadIdentifier Payload identifier for the AnyDesk configuration in reverse-domain notation. string
e.g. com.companya.config.anydesk
PayloadUUID

Random UUID for the AnyDesk configuration that is unique within the company.

The UUID should be in the format:

<8 characters>-<4 characters>-<4 characters>-<4 characters>-<12 characters>

A character can be any of the following:

  • A number between 1-9
  • A letter between A-F
string
e.g. 5D2F7682-3B17-43EC-B6F6-CB20696ED631
PayloadType

Custom application ID that corresponds to your account prefix. This prefix can be found on the Custom Client Details page of a custom client.

Please note in this case the reverse-domain notation created in "PayloadIdentifier" should not be used. The format "com.philandro.anydesk-<prefix>" needs to be followed.

string
    
com.philandro.anydesk-<prefix>

e.g.

com.philandro.anydesk-ad-12345678
PayloadVersion Internal integer version of this AnyDesk configuration. integer
e.g. 1
ad.*

Key-value pairs from our Advanced Options

Please note that all settings and permissions set here overwrite. This means that the affected permissions and settings cannot be changed by the users on the enrolled device.

string

Please see the "Value Possibilities" columns in Advanced Options.
ad.features.connect

Determines whether this AnyDesk client can send connection requests to other AnyDesk clients.

string

0: Disable,
1: Enable
ad.features.accept

 

Determines whether this AnyDesk client can receive connection requests from other AnyDesk clients.

string

0: Disable,
1: Enable

Other

XML Tag Description Value Type Value Possibilities
PayloadScope Determines the scope of the MDM profile. "System" needs to be used to apply the AnyDesk configuration to all local user accounts and the global AnyDesk service. string
System
PayloadUUID

Random UUID for the MDM profile that is unique within the company.

The UUID should be in the format:

<8 characters>-<4 characters>-<4 characters>-<4 characters>-<12 characters>

A character can be any of the following:

  • A number between 1-9
  • A letter between A-F

Please note that this UUID should be different from the one assigned to the AnyDesk configuration in PayloadContent::PayloadUUID.

string
e.g. A2A5828E-F98C-45BB-9BFE-E4E854B3AC45
PayloadDisplayName Name of the MDM profile. An MDM profile can contain enterprise configurations for multiple applications. string
e.g. Company A's MDM Profile
PayloadIdentifier MDM profile identifier in reverse-domain notation. string
e.g. com.companya.config
PayloadType Type of MDM profile. With an AnyDesk configuration, PayloadType "Configuration" needs to be used. string
Configuration
PayloadVersion Internal integer version of this MDM profile. This helps macOS distinguish between different versions of the same profile. integer
e.g. 1

Profile Deployment

This configuration can be deployed manually on each individual device or automatically deployed through the mobile device management tool. 

Manual Deployment

To deploy the profile on a macOS device manually, simply move the resulting .MOBILECONFIG file to the device, and install it. You may need to confirm the unsigned/unverified configuration in System Preferences > Profiles. The changes will be applied the next time you start the custom AnyDesk for macOS client on that device.

MDM Deployment

To deploy the profile on your enrolled macOS devices through your MDM tool, simply:

  1. Create a configuration profile for macOS devices
  2. Enter the name and description (optional) of the profile
  3. Upload the .MOBILECONFIG file with the AnyDesk configuration. Alternatively, many MDM tools allow the administrator to create the XML on the fly within the MDM tool at this stage.
  4. Choose Group/Users/Devices that should be enrolled with this profile.
  5. Save

Depending on your MDM deployment settings, after a few minutes, the MDM profile should be deployed on all connected enrolled devices. This can be verified in System Preferences > Profiles.

The next time the enrolled devices start your custom macOS client, the changes contained in your configuration will be applied.

Back to Top

Configuration through MDM for Android

Mobile device management tools with app restriction features can deploy a modified version of the standard AnyDesk application found in the Google Play Store. Please note that configuring a custom AnyDesk Client (APK) through an MDM is not possible at this time.

The standard AnyDesk client can be easily configured using the inbuilt Configuration Editor found in many MDM tools. To do so:

  1. Add the AnyDesk for Android application to your MDM solution
    1. Android Store application with the Google Play Store link as the Appstore URL.
  2. Create an Application Configuration Policy for Managed Devices
    1. The targeted application would be the AnyDesk for Android application you added in Step 1.
    2. To customize the settings of the AnyDesk client, the inbuilt Configuration Editor/Designer can be used. Here, there is a pre-defined list of available keys and a description of each value.
      If the key begins with defaults, the option will be configured according to your specifications. However, the user of the configured AnyDesk client will be able to change the setting to something else if they wish to. 
      On the other hand, if it starts with overrides, the user of the configured AnyDesk client will not be able to change the setting.
  3. Save

As with macOS, after saving the enrolled devices should automatically retrieve the configuration from the MDM solution and change the AnyDesk settings.

Tip:

If managing your AnyDesk application to connect to your AnyDesk On-Premises appliance server, please note that the following keys are required:

ad.license.register_key
ad.anynet.boot_addrs
ad.anynet.ca_certs

Back to Top

 

Configuration through MDM for iOS

As of AnyDesk 5.5.0 for iOS, administrators can now configure the standard version of AnyDesk found in the App Store using mobile device management solutions.

As on Android, the standard AnyDesk client can be easily configured using the inbuilt Configuration Editor found in many MDM tools. To do so:

  1. Add the AnyDesk for iOS application to your MDM solution
    1. App Store application with the App Store link as the Appstore URL.
  2. Create an Application Configuration Policy for Managed Devices
    1. The targeted application would be the AnyDesk for iOS application you added in Step 1.
    2. To customize the settings of the AnyDesk client, the inbuilt Configuration Editor/Designer can be used. A full list of available keys and their description can be found below.
  3. Save

The configuration can then be deployed to iOS devices via Profiles that are linked to your AnyDesk configuration or Apple Configurator 2. For more information, on how to enroll your devices, please contact your IT administrator or your MDM vendor directly.

Configuration Keys

Note:

You need to assign a key type (defaults, overrides) to the beginning of each of the Configuration keys found below. 

If the key begins with defaults, the option will be configured according to your specifications. However, the user of the configured AnyDesk client will be able to change the setting to something else if they wish to. 

For example:

defaults.ad.security.acl_enabled

 

On the other hand, if it starts with overrides, the user of the configured AnyDesk client will not be able to change the setting.

For example:

overrides.ad.discovery.hidden

 

Default values for the standard AnyDesk client are in bold in the Value Possibilities column.

Configuration Key Description Value Type Value Possibilities
ad.features.address_book

Sets whether the client has access to the Address Book feature.

If set to true, a valid license key needs to be set for the key:

ad.license.register_key

 

boolean
false, true
ad.license.register_key
The license key found in your my.anydesk.com customer portal or the WebUI of the On-Premises appliance server.

This is required if you want to connect the client to your On-Premises appliance server.
string
 e.g. A1S273JUEKSA87XN
ad.anynet.boot_addrs

 

Only use if you want the AnyDesk client to connect to your AnyDesk On-Premises appliance server.

Sets the IP address or URL of the appliance server the client should connect to. It uses the following format (port is optional):

(ip|host):port;(ip|host):port;...)

This is required if you want to connect the client to your On-Premises appliance server.

string  
ad.anynet.ca_certs

 

Only use if you want the AnyDesk client to connect to your AnyDesk On-Premises appliance server. 

Public certificate of the appliance server. Please note, that MDMs such as Microsoft Intune only allow single line values. As the certificate is multiline, you will need to manually replace all newline indicators with "\n".

For example, if your certificate had the following format:

abc
qwe

The MDM value for this key should be:

abc\nqwe

This is required if you want to connect the client to your On-Premises appliance server.

string  
ad.features.register_alias
Sets whether the client will automatically register an AnyDesk-Alias after installing the AnyDesk client. boolean
false, true
ad.ui.cfg_enabled
Sets whether the client has access to the AnyDesk Settings boolean
false, true
ad.ui.cfg_enable_audio
Sets whether the client has access to the AnyDesk Audio Settings boolean
false, true
ad.ui.cfg_enable_connection
Sets whether the client has access to the AnyDesk Connection Settings boolean
false, true
ad.ui.cfg_enable_privacy
Sets whether the client has access to the AnyDesk Privacy Settings boolean
false, true
ad.ui.cfg_enable_recording
Sets whether the client has access to the AnyDesk Recording Settings boolean
false, true
ad.security.auto_disconnect.mode
Sets if the auto-disconnect feature is enabled. integer
0: Disabled,
1: Enabled
ad.security.auto_disconnect.timeout
Sets the inactivity timeout period in seconds before incoming sessions are automatically disconnected.  integer
Minimum: 60
ad.security.hear_audio
Determines whether clients connecting to this AnyDesk client can hear the audio output of the device. boolean
false, true
ad.security.sysinfo
Determines whether clients connecting to this AnyDesk client can see the system information of the device. boolean
false, true
ad.security.acl_enabled
Determines is the access control list feature is enabled for this AnyDesk client. boolean
false, true
ad.security.acl_list
Sets what AnyDesk-IDs or Aliases are in the access control list enabled above. string
e.g. 123456789:true;mycomputer@ad:true;
ad.discovery.enabled
Sets whether the client can find other AnyDesk clients on the same local area network. boolean
false, true
ad.discovery.hidden
Sets whether other AnyDesk clients can find this client while on the same local network. boolean
false, true
ad.input.auto_touch_to_touch_mode
Sets if touch-to-touch mode is available when connected to remote Android devices. boolean
false, true
ad.input.touch_mode
Sets whether touchpad or touch mode is used. integer
1: Touch,
2: Touchpad
ad.image.follow_remote_cursor
Sets whether you automatically switch views when the remote mouse cursor moves to a different display. integer
0: Disabled
1: Enabled
ad.image.follow_remote_focus
Sets whether you automatically switch views when the remote foreground window is on another display. integer
0: Disabled
1: Enabled
ad.image.quality_lossless
Sets whether outgoing sessions from this client use the lossless quality transmission setting. boolean
false, true
ad.image.quality_preset
Sets the transmission quality for outgoing sessions. integer
0: Best quality,
1: Balanced,
2: Optimize reaction time
ad.image.show_remote_cursor
Sets whether you can see the remote cursor.  boolean
false, true
ad.audio.playback_mode
Sets whether you can hear audio from the device you are connecting to. integer
0: Disable,
1: Enable
ad.audio.transmit_mode
Sets whether others can hear the audio on your device when they are connected to you. boolean
0: Disable,
1: Enable
ad.anynet.direct
Sets whether direct connections can be made. boolean
false, true
ad.anynet.listen_port
Sets the listening port for potential incoming direct connections. integer
e.g. 0
ad.anynet.proxy.mode
Sets the proxy mode. integer
0: Never use a proxy server,
1: Try to detect,
2: Use a specific proxy server
ad.anynet.proxy.addr
Sets the proxy address. string
e.g. 1.1.1.1
ad.anynet.proxy.port
Sets the proxy port. integer
e.g. 10000
ad.anynet.proxy.auth
Sets whether authentication credentials need to be sent to the proxy. boolean
 false, true
ad.anynet.proxy.user
Sets the proxy username.   string
 e.g. myproxyuser
ad.anynet.proxy.pass_plain
Sets the proxy password. string
e.g. myproxypassword 
ad.recording.auto_start.incoming
Automatically start a screen recording when someone connects to your device. integer
0: Disabled
1: Enabled
ad.recording.auto_start.outgoing
Automatically start a screen recording when you connect to someone else's device. integer
0: Disabled
1: Enabled
ad.session.remember_settings
Sets whether the client remembers settings such as activating Privacy Mode when connecting to the same remote device in the future. boolean
false, true

 

Back to Top