Configuring AnyDesk Through Mobile Device Management (MDM): Step-by-Step Guide

Table of content

Mobile Device Management (MDM)

Table of Contents

Deployment Configuration through MDM for macOS
Configuration through MDM for Android Configuration through MDM for iOS

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

Deployment

Note:

While AnyDesk provides packages for deployment through third-party tools, the AnyDesk Support team does not offer support for these 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 offers 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.
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-” needs to be followed. string com.philandro.anydesk- 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: abcqwe 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
Published at

Leave a comment

Your email address will not be published

No comments yet!