xref: /docs/en/application-dev/tools/edm-tool.md (revision e41f4b71)
1e41f4b71Sopenharmony_ci# EDM
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ciEnterprise Device Manager (EDM) provides debugging and testing capabilities for device management applications. For example, it can be used to enable or disable extended enterprise device management capabilities.
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci> **NOTE**
7e41f4b71Sopenharmony_ci>
8e41f4b71Sopenharmony_ci> Before using this tool, you must obtain the <!--Del-->[<!--DelEnd-->hdc tool<!--Del-->](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md)<!--DelEnd--> and run the **hdc shell** command.
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## help
12e41f4b71Sopenharmony_ci  Displays help information of EDM.
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci  **Return value**
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci  Returns the help information.
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci  **Method**
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci  ```bash
22e41f4b71Sopenharmony_ci  edm help
23e41f4b71Sopenharmony_ci  ```
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci## enable-admin
27e41f4b71Sopenharmony_ciEnables the extended enterprise device management capabilities of a component. The target component must be an [EnterpriseAdminExtensionAbility](../mdm/mdm-kit-admin.md).
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci| Parameter| Description             |
30e41f4b71Sopenharmony_ci| -------- |-------------------|
31e41f4b71Sopenharmony_ci| -h/--help | Help information.            |
32e41f4b71Sopenharmony_ci| -n/--bundle-name | Bundle name. This parameter is mandatory.|
33e41f4b71Sopenharmony_ci| -a/--ability-name | Ability name. This parameter is mandatory.|
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci  **Return value**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ciReturns "enable-admin success." if the component is enabled; returns "error: xxx" and the corresponding error information otherwise.
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci| Return value                                                      | Description                                                        |
40e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ------------------------------------------------------------ |
41e41f4b71Sopenharmony_ci| enable-admin success.                                        | The component is enabled.                                                  |
42e41f4b71Sopenharmony_ci| error: command requires option.                              | **bundleName** and **abilityName** are not passed in.                             |
43e41f4b71Sopenharmony_ci| error: -n, --bundle-name option requires an argument.        | The input value of **bundleName** is empty.                                      |
44e41f4b71Sopenharmony_ci| error: -a, --ability-name option requires an argument.       | The input value of **abilityName** is empty.                                     |
45e41f4b71Sopenharmony_ci| error: unknown option.                                       | An unknown parameter is passed in.                                          |
46e41f4b71Sopenharmony_ci| error: -n <bundle-name> is expected.                         | **bundleName** is not passed in.                                          |
47e41f4b71Sopenharmony_ci| error: -a <ability-name> is expected.                        | **abilityName** is not passed in.                                         |
48e41f4b71Sopenharmony_ci| error: the administrator ability component is invalid.       | The input value of **bundleName** or **abilityName** is incorrect, or the component is not an EnterpriseAdminExtensionAbility. |
49e41f4b71Sopenharmony_ci| error: failed to enable the administrator application of the device. | The component fails to be enabled.                                                  |
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci  **Method**
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci  ```bash
55e41f4b71Sopenharmony_ci  edm enable-admin -n <bundleName> -a <abilityName>
56e41f4b71Sopenharmony_ci  ```
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci  **Example**
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci```bash
61e41f4b71Sopenharmony_ci# Enable the EnterpriseAdminExtensionAbility whose bundle name is com.example.mdmsample and class name is EnterpriseAdminAbility.
62e41f4b71Sopenharmony_ciedm enable-admin -n com.example.mdmsample -a com.example.mdmsample.EnterpriseAdminAbility
63e41f4b71Sopenharmony_ci```
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci## disable-admin
67e41f4b71Sopenharmony_ciDisables the extended enterprise device management capabilities of a component. The target component must be an [EnterpriseAdminExtensionAbility](../mdm/mdm-kit-admin.md).
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci| Parameter            | Description              |
70e41f4b71Sopenharmony_ci| ---------------- | ---------------------- |
71e41f4b71Sopenharmony_ci| -h/--help        | Help information.            |
72e41f4b71Sopenharmony_ci| -n/--bundle-name | Bundle name. This parameter is mandatory.|
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci  **Return value**
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ciReturns "disable-admin success." if the component is disabled; returns "error: xxx" and the corresponding error information otherwise.
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci| Return value                                                      | Description                  |
79e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ---------------------- |
80e41f4b71Sopenharmony_ci| disable-admin success.                                       | The component is disabled.        |
81e41f4b71Sopenharmony_ci| error: command requires option.                              | **bundleName** is not passed in.    |
82e41f4b71Sopenharmony_ci| error: -n, --bundle-name option requires an argument.        | The input value of **bundleName** is empty.|
83e41f4b71Sopenharmony_ci| error: unknown option.                                       | An unknown parameter is passed in.    |
84e41f4b71Sopenharmony_ci| error: -n <bundle-name> is expected.                         | **bundleName** is not passed in.    |
85e41f4b71Sopenharmony_ci| error: failed to disable the administrator application of the device. | The component fails to be disabled.        |
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci  **Method**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci  ```bash
91e41f4b71Sopenharmony_ci  edm disable-admin -n <bundleName>
92e41f4b71Sopenharmony_ci  ```
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci  **Example**
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci  ```bash
98e41f4b71Sopenharmony_ci# Disable the EnterpriseAdminExtensionAbility whose bundle name is com.example.mdmsample.
99e41f4b71Sopenharmony_ciedm disable-admin -n com.example.mdmsample
100e41f4b71Sopenharmony_ci  ```
101