python修改电脑密码_Python 远程批量修改密码脚本
(一)注:pexpect模块需安装
#!/usr/bin/env python
#coding:utf8
import pexpect
import sys
iplist = [‘192.168.140.142‘,‘192.168.140.145‘] ##定义主机列表
oldpasswd = ‘234567‘ ##旧密码
newpasswd = ‘1234567‘ ##新密码
while iplist:
ip = iplist[-1] ##获取一个IP
iplist.pop() ##列表去掉一个值
child = pexpect.spawn(‘ssh root@‘+ip) ##定义触发
fout = file(‘passlog.txt‘,‘a‘) ##定义日志文件,
child.logfile = fout
try:
while True:
index = child.expect([‘(yes/no)‘,‘(?i)password:‘])
if index == 0:
child.sendline(‘yes‘)
elif index == 1:
child.sendline(oldpasswd)
child.expect(‘#‘)
child.sendline(‘echo ‘+newpasswd+‘ | passwd --stdin root‘)
child.expect(‘#‘)
child.sendline(‘exit‘)
except pexpect.TIMEOUT:
print >>sys.stderr, ip+‘ timeout‘
except pexpect.EOF:
print >>sys.stderr, ip+‘ ‘
(二)pexpect的安装:
#tar -zxvf pexpect-3.0.tar.gz
#cd pexpect-3.0
#python setup.py install
(三)pexpect的简单介绍:
1、pexpect有几个核心组件包括spawn类、run函数、及派生类pxssh等的定义及使用方法。
(1)spawn类
spawn是pexpect的主要类接口,功能是启动和控制子应用程序,以下是它的构造函数定义:
class pexpect.spawn(command,args=[],timeout=30,maxread=2000,searchwidowsize=None
,logfile=None,cwd=None,env=None,ignore_sighup=True)
其中command参数可以是任意已知的系统命令,如:
command = pexpect.spawn(‘ls /tmp‘)
timeout为等待结果的超时时间;maxread为pexpect从终端控制台一次读取的最大字节数,searchwidowsize为匹配缓冲区字符串的位置,默认是从开始位置匹配。
(2)run函数
run是使用pexpect进行封装的调用外部命令的函数,类似于os.system或os.popen方法,不同的是
run()可以同时获得命令的输出结果及命令的退出状态,函数定义:
pexpect.run(command,timeout=-1,withexitstatus=False,events=None,extra_args=None,
logfile=None,cwd=None,env=None).
command为任意系统命令,events是一个字典,定义了expect及sendline方法的对应关系,
spawn方式的例子如下:
from pexpect import *
run(‘scp file user@example.com: .‘,events={‘(?i)password‘:mypasswd})
(3)pxssh类
pxssh是pexpect的派生类,定义如下:
class pexpect.pxssh.pxssh(timeout=30,maxread=2000,searchwidowsize=None,logfile=None,
cwd=None,env=None)
pxssh常用的三个方法:
login()建立连接;
logout()断开连接;
prompt()等待系统提示符,用于等待命令执行结束。
----------------------------------------------------------------Pexpect介绍摘自于《Python自动化运维》
本文出自 “贰广之运维” 博客,谢绝转载!
python修改电脑密码_Python 远程批量修改密码脚本相关推荐
- 服务器python密码_python实现批量修改服务器密码的方法
求:机房.线上有多台主机,为了保障安全,需要定期修改密码.若手动修改,费时费力易出错. 程序应该满足如下需求 : 1.在现有的excel密码表格,在最后一个字段后面生成新的密码,另存为一个新的exce ...
- 怎么批量改计算机名字,批量修改文件名,教您如何批量修改文件名称
现在使用电脑.智能手机,无非是为了多快好省的帮助我们完成各种"任务",加快效率.就拿文件批量重命名来说吧,现在个人电脑文件是越来越多的,对文件名进行统一规范的修改例如批量更改文件名 ...
- 怎么批量修改html文件后缀,如何批量修改文件后缀名 超详细介绍
如何批量修改文件后缀名 超详细介绍.比如我们保持图片的时候,不是我们要的jpg格式的,需要一个一个去修改她的后缀名.现在小编就教大家快速的,批量的,安全的修好多数的文件后缀名.希望能帮大家平时的工作. ...
- python修改电脑名称_python 脚本之批量更改主机名
今天接到上面工作任务,让更改多台主机的主机名称.使用python paramiko Module,随手写了一个批量修改主机名的脚本. #!/usr/bin/env python #-*- coding ...
- python导入文件夹数据有改动_python办公自动化--批量修改文件/文件夹名称
导语 今天我们来看下如何批量修改名称.这个需求在工作中比较常见的,日常生活中可能也有此类需求,比如,打包下载了一部连续剧或有声读物,每个文件名却被加上了网址.网站名称,还有一些莫名其妙的符号,整得特别 ...
- python改文件名_python实现批量修改文件名代码
我曾以为,写脚本是很难的,直到我遇到了Python 前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随 ...
- 华为服务器批量BMC修改密码,华为服务器批量修改bmc地址
华为服务器批量修改bmc地址 内容精选 换一换 域名转入时,出现"域名已存在"的提示,导致域名无法导入.如果出现这种情况,其可能原因是,在域名转入华为云之前,已经将该域名托管至华为 ...
- python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...
标签:rename current 变量 阅读 tor 小伙伴 search 其他 就是如果程序中有一个变量被用得比较多,但名字起得不是很好,导致其他阅读程序的人搞不清 ...
- python 美化ppt_使用python-pptx包批量修改ppt格式的实现
最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置.对齐方式.字体等统一,人工修改又麻烦又容易错. 因此结合网上的pptx包资料,使用python脚本完成处理. 主要的坑点在于,shape ...
最新文章
- 【机器学习基础】Softmax与交叉熵的数学意义(信息论与概率论视角)
- search-guard 在 Elasticsearch 2.3 上的运用
- 基于图神经网络的节点表征学习
- jQuery 基础事件
- iOS中用到的唯一标示符
- 数据挖掘与数据化运营实战. 3.2 目标客户的预测(响应、分类)模型
- PowerShell中远程管理简单配置
- 软件设计师2004年5月下午试题6(C++ 数组下标检测)
- 模拟win10系统开机加载的动画
- java实现车牌头像识别_LPR java车牌图像处理 输入一个车牌照片(不是整车的照片) - 下载 - 搜珍网...
- Python tolist()用法
- 数据通信与计算机网络实训报告,数据通信网络实训总结报告.doc
- 华为的冬天 任正非
- 虎虎生威年,用Compose Canvas画只猛虎让大家 “虎躯一震” 吧
- 未明学院:来自券商研究所搬砖狗的自白
- 一副重现赤壁之战的神秘地图
- 苹果Mac 上照片调整工具的使用方法
- Windows平台调试工具:DebugView
- MSDN如何找到和打开
- Python 多态,概念与示例,精简篇
热门文章
- 从618看天猫的竞争策略:品牌与主场
- python参数化建模加工图_proe参数化建模教程(最新)
- 学习Linux命令(23)
- SecureCRT下载需要账号
- Java、JSP、MySQL服装企业物流仓库管理
- 计算机科学与技术班徽的意义,北京市义务教育课程改革实验小学信息技术教材介绍.ppt...
- python反三角函数arctan_arctan()函数的查表算法
- 2021必看!java二级考试内容
- IMDB数据集——文本情绪二分类
- 使用北通手柄控制turtlesim运动