
# 批量重置弹性云服务器密码 - BatchResetServersPassword
#### 功能介绍
批量重置弹性云服务器管理账号（root用户或Administrator用户）的密码。
#### 接口约束
- 使用此API，需预先安装重置密码插件。一键式重置密码插件的下载与安装，请参见《弹性云服务器用户指南》的"[安装一键式重置密码插件](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0068095385.html)"章节。
- 弹性云服务器的重置密码请求下发后，脚本执行失败，该API不会报错。
- 弹性云服务器开机或重启后，新密码生效。
- 该接口支持虚拟机状态为开机或者关机状态下执行。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ECS/doc?api=BatchResetServersPassword)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                             | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                             | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:resetServerPwd | write | instance \* | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | -  | -      |
   
#### URI
PUT /v1/{project_id}/cloudservers/os-reset-passwords
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数           | 参数类型             | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| new_password | String           | 是    | **参数解释：** 新密码。 **约束限制：** 当dry_run字段为true时，该字段为非必填字段，否则为必填字段。 **取值范围：** 新密码的校验规则： - 长度为8-26位。  - 密码至少必须包含大写字母（A-Z）、小写字母（a-z）、数字（0-9）和特殊字符（!@%-_=+\[\]:./?）中的三种。  - 密码不能包含用户名或用户名的逆序。  - Windows系统密码不能包含用户名或用户名的逆序，不能包含用户名中超过两个连续字符的部分。   **默认取值：** 不涉及 |
| dry_run      | Boolean          | 否    | **参数解释** **：** 是否预检此次请求。配置为预检时，此次请求不会重置密码。 **约束限制：** 不涉及 **取值范围：** - true：预检此次请求。检查项包括是否填写了必需参数、请求格式、业务限制。 - 如果检查不通过，则返回对应错误。  - 如果检查通过，则返回响应结果。    - false：发送正常请求，不对请求体做预检。   **默认取值：** false                                                                                                                 |
| servers      | Array of objects | 是    | **参数解释：** 待批量重置密码的弹性云服务器ID信息，详情参见 [表3]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表3servers字段数据结构说明 
| 参数 | 参数类型   | 是否必选 | 描述                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| id | String | 是    | **参数解释：** 弹性云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应消息
响应参数如[表4]所示。
 表4响应参数 
| 参数       | 参数类型             | 描述                                                                                                                                                                                                                                              |
|:---|:---|:---|
| response | Array of objects | **参数解释：** 提交请求成功后返回的响应列表，详情请参见[response数据结构说明](https://support.huaweicloud.com/api-ecs/ecs_07_0009.html#ecs_07_0009__table849372311389)。 **取值范围：** 不涉及 |
   
表5response数据结构说明 
| 名称 | 参数类型   | 描述                                                                                                                            |
|:---|:---|:---|
| id | String | **参数解释：** 操作成功的弹性云服务器ID。 **取值范围：** 不涉及 |
   
#### 请求示例
批量重置ID为"1bd0eb17-4466-4c15-a9ce-87727ad311b5"和"fd6b6e9d-64a1-40fa-b7dc-f491be42fdd2"的云服务器的密码，建议将密码在配置文件或者环境变量中密文存放，使用时解密，确保安全。
```
PUT https://{endpoint}/v1/{project_id}/cloudservers/os-reset-passwords
{
    "new_password": "$ADMIN_PASS",
    "dry_run": true,
    "servers": [
                {
                  "id":"1bd0eb17-4466-4c15-a9ce-87727ad311b5"  
                },
                {
                  "id":"fd6b6e9d-64a1-40fa-b7dc-f491be42fdd2" 
                }
               ]
}
```
#### 响应示例
响应示例请参见[响应（批量操作类）](https://support.huaweicloud.com/api-ecs/ecs_07_0009.html)所示。
```
{      
    "response": [                   
                  {                     
                    "id": "616fb98f-46ca-475e-917e-2563e5a8cd19"                      
                   },                   
                  {                     
                    "id": "516fb98f-46ca-475e-917e-2563e5a8cd12"                      
                   }                
                 ] 
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
