# 免登录ECS发送远程命令
#### 操作场景
ECS支持免登录发送命令功能。通过该功能您可以在不登录ECS的情况下，发送脚本命令至单台或多台ECS，快速完成对ECS的日常维护。
例如，如果您想批量在ECS上安装或卸载软件、重置密码或执行自动化运维脚本，即可通过免登录发送命令功能进行操作。
本文介绍如何通过管理控制台向单台或多台ECS发送命令。
#### 约束与限制
- 该功能依赖云运维中心（Cloud Operations Center，简称COC），需开通并授权COC服务。 对于IAM用户，需额外配置COC资源操作类权限，详细内容，请参见[配置ECS自助运维自定义策略](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2502.html)。
  
- 该功能依赖UniAgent。UniAgent是统一数据采集Agent，支持脚本下发和执行。 若ECS未安装UniAgent，则无法免登录发送命令，详细内容，请参见[为ECS安装UniAgent](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2505.html)。
  
- 该功能仅支持"运行中"状态的ECS。
 
#### 操作步骤
您可以向单台或多台ECS发送脚本命令。
- [向单台ECS发送命令]
  1. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)，进入弹性云服务器列表页面。
  
  2. 在待发送命令的ECS的"操作"列，单击"更多 \> 发送命令"。
  
  3. （可选）在"开通云运维中心并添加权限"页面，阅读服务声明并勾选后，单击"开通并授权"。 若当前账号未开通并授权COC服务，则会显示该页面。
     
  
  4. 在"发送命令"页面，根据界面提示信息，完成相关参数配置。
     ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/notice_3.0-zh-cn.png)
     发送命令功能依赖UniAgent，如果提示未安装UniAgent或者安装失败，请参考[为ECS安装UniAgent](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2505.html)进行安装，否则无法发送命令。
     图1发送命令   
     ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002017673208.png "点击放大")
     表1发送命令参数配置 
     | 参数      | 说明                                                                                                                                                                                                                                  |
     |:---|:---|
     | 目标实例  | 选择待发送命令的目标实例。默认已选择一台目标实例。                                                                                                                                                                                                       |
     | 操作系统     | 目标实例的操作系统类型，当前支持Linux和Windows。 请根据目标实例的操作系统类型进行选择。                                                                                                                                                 |
     | 执行用户      | 命令的执行用户。 - Windows系统ECS：默认为system，不支持修改。  - Linux系统ECS：默认为root，支持手动输入其他用户作为执行用户。   |
     | 执行计划   | 命令的执行计划，默认为"立即执行"。                                                                                                                                                                                                             |
     | 超时时间    | 单次命令执行的超时时间，超时后会强制终止发送进程。 范围：6～1800。 单位：秒。                                                                                                                          |
     | 命令类型   | 支持发送的脚本命令类型。 - Windows系统ECS：支持Bat。  - Linux系统ECS：支持Shell（默认）、Python。        |
     | 命令输入   | 待发送命令的输入框。 输入内容必须为单次执行可返回结果的命令，即不支持与命令返回信息进行二次交互。 说明： 一条命令执行完成后，可在命令输入框中继续输入命令，再次进行执行。                                                                                |
     | 命令输出 | 命令的输出框，可查看命令执行结果。                                                                                                                                                                                                               |
        
     
   
- [向多台ECS发送命令]
  1. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)，进入弹性云服务器列表页面。
  
  2. 在ECS列表中，勾选待发送命令的多台ECS。
  
  3. 在列表上方，单击"更多 \> 发送命令"。
  
  4. （可选）在"开通云运维中心并添加权限"页面，阅读服务声明并勾选后，单击"开通并授权"。 若当前账号未开通并授权COC服务，则会显示该页面。
     
  
  5. 在"批量发送命令"页面，根据界面提示信息，完成相关参数配置。
     ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/notice_3.0-zh-cn.png)
     发送命令功能依赖UniAgent，如果提示未安装UniAgent或者安装失败，请参考[为ECS安装UniAgent](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2505.html)进行安装，否则无法发送命令。
     批量操作时，如果勾选的多个ECS不属于同一操作系统，既包含Linux系统ECS，又包含Windows系统ECS，则需要分别进行配置。
     图2批量发送命令   
     ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002054206405.png "点击放大")
     表2批量发送命令参数配置 
     | 参数     | 说明                                                                                                                                                                                                                                  |
     |:---|:---|
     | 目标实例    | 选择待发送命令的目标实例。默认已选择步骤[2]中勾选的目标实例。                                                                                                                                                                    |
     | 操作系统   | 目标实例的操作系统类型，当前支持Linux和Windows。 请根据目标实例的操作系统类型进行选择。若批量操作选择的目标实例包含Linux和Windows两种操作系统类型，则需要分别进行设置。                                                                                                         |
     | 执行用户 | 命令的执行用户。 - Windows系统ECS：默认为system，不支持修改。  - Linux系统ECS：默认为root，支持手动输入其他用户作为执行用户。   |
     | 执行计划    | 命令的执行计划，默认为"立即执行"。                                                                                                                                                                                                               |
     | 超时时间  | 单次命令执行的超时时间，超时后会强制终止发送进程。 范围：6～1800秒（24小时）。 单位：秒。                                                                                                                        |
     | 命令类型  | 支持发送的脚本命令类型。 - Windows系统ECS：支持Bat。  - Linux系统ECS：支持Shell（默认）、Python。              |
     | 命令输入  | 待发送命令的输入框。 输入内容必须为单次执行可返回结果的命令，即不支持与命令返回信息进行二次交互。 说明： 一条命令执行完成后，可在命令输入框中继续输入命令，再次进行执行。                                                                                     |
     | 命令输出  | 命令的输出框，可查看命令执行结果。 批量向多台ECS发送命令时，可在命令输出框切换不同页签查看执行结果。                                                                                                                                                 |
        
     
   
