py3.5 telnet的实例(在远程机器上批量创建用户)

批量创建用户与组
本文介绍了一种使用Python的telnetlib模块实现远程批量创建用户并将其加入指定组的方法。通过遍历主机列表,利用telnet连接进行身份验证后执行命令来完成用户的创建和分组。文中还涉及到了Python中编码转换的细节。

import sys
import telnetlib
import time

HOST = ["172.18.217.12","172.18.217.13"]#往后一直加即可

USER = "username"

PASSWORD = "password"

command1 = "net user test 1 /add" #添加用户

command2 = "net localgroup administrators test /add"  #给将用户添加到组

wait_time = 1

for host in HOST:

  tn = telnetlib.Telnet(host,timeout = 10)
  #tn.read_eager().decode('utf-8')

  tn.read_until(b'login:')
  tn.write(USER.encode('utf-8') + "\r".encode('utf-8'))
  time.sleep(wait_time)
  #tn.read_very_eager().decode('utf-8')
  
  time.sleep(wait_time)
  #tn.read_until(b' Administrator\n\rpassword: ')
  tn.write(PASSWORD.encode('utf-8') + "\r".encode('utf-8'))

  time.sleep(wait_time)
  tn.read_very_eager().decode('utf-8') #这句话的意思只是读取信息,但是撤掉就不能运行成功,不知原因,前面的如果不用read_until,全部用sleep的方法,则注掉的read_very_eager都要加上才能成功

  tn.write(command1.encode('utf-8') + "\r".encode('utf-8'))
  time.sleep(wait_time)

  tn.write(command2.encode('utf-8') + "\r".encode('utf-8'))
  time.sleep(wait_time)

  a = tn.read_very_eager()
  tn.close()
  print(host + a.decode('gbk'))
  print('\n')

解决了挨个建用户、加组的问题,所以一些用法并没有深究,这里的转码非常繁琐,而且,\n没能执行成功 \r才可以

转载于:https://www.cnblogs.com/shuchengxiang/p/6862162.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值