腾讯云TDP-利用TCCLI批量重置轻量实例的密码
直接上代码
代码语言:javascript复制//lighthouse-查看轻量云服务器实例列表
tccli lighthouse DescribeInstances --cli-unfold-argument --region ap-mumbai --Filters.0.Name instance-name --Filters.0.Values zhangsan --Offset 0 --Limit 100 --filter 'InstanceSet[*].{list_name1:InstanceId}' --output text > /root/insid.txt
//设置环境变量
export insid=$(cat /root/insid.txt)
//lighthouse-重置实例密码
tccli lighthouse ResetInstancesPassword --cli-unfold-argument --region ap-mumbai --InstanceIds $insid --Password pass@W0rd
详细分析
代码语言:txt复制tccli lighthouse DescribeInstances --cli-unfold-argument --region ap-mumbai --Filters.0.Name instance-name --Filters.0.Values zhangsan --Offset 0 --Limit 100 --filter 'InstanceSet[*].{list_name1:InstanceId}'--output text > /root/insid.txt
--Filters.0.Name instance-name --Filters.0.Values zhangsan
这一段是说 只筛选实例名称包含zhangsan的机器出来
--Offset 0 --Limit 100
如果不加此参数 默认只显示20个实例
这一段是说 展示0-100台实例
如果你单个大区实例超过100台(最多300台)
那么可能需要多次查询来获取
--filter 'InstanceSet[*].{list_name1:InstanceId}'
这一段是说 返回结果里面 我只看InstanceId这个字段的数据 也就是只看实例ID
--output text
tccli的一种输出格式
> /root/insid.txt
把结果输出到这个文件里面
export insid=$(cat /root/insid.txt)
每次使用$insid 就相当于读取/root/insid.txt里面的内容
tccli lighthouse ResetInstancesPassword --cli-unfold-argument --region ap-mumbai --InstanceIds $insid --Password pass@W0rd
--InstanceIds $insid
实例ID信息从$insid获取
--Password pass@W0rd
你要设置的密码