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.
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:
- PayloadContent
- PayloadScope
- PayloadUUID
- PayloadDisplayName
- PayloadIdentifier
- PayloadType
- 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:
|
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 |
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:
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:
- Create a configuration profile for macOS devices
- Enter the name and description (optional) of the profile
- 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.
- Choose Group/Users/Devices that should be enrolled with this profile.
- 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.
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:
- Add the AnyDesk for Android application to your MDM solution
- Android Store application with the Google Play Store link as the Appstore URL.
- Create an Application Configuration Policy for Managed Devices
- The targeted application would be the AnyDesk for Android application you added in Step 1.
- 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.
- 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
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:
- Add the AnyDesk for iOS application to your MDM solution
- App Store application with the App Store link as the Appstore URL.
- Create an Application Configuration Policy for Managed Devices
- The targeted application would be the AnyDesk for iOS application you added in Step 1.
- 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.
- 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 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 |