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才可以

py3.5 telnet的实例(在远程机器上批量创建用户)的更多相关文章

  1. visualvm 监控 远程 机器上的 Java 程序

    JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...

  2. 转:visualvm监控远程机器上的Java程序

    转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...

  3. 日常开发技巧:在远程机器上直接使用adb

    背景 嵌入式开发中,开发工作是在远程服务器上进行的.当需要adb推送一个文件到开发板时,则需要重新在本地机器中找到该文件,再执行命令.这样的操作比较麻烦. 下面介绍我的解决方式. sshfs挂载 首先 ...

  4. jenkins中通过Publish Over SSH将项目部署到远程机器上

    Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...

  5. ansible获取远程机器上的ip地址

    问题: 想要使用ansible-playbook脚本创建一个以远程机器的IP命名的目录 错误的代码:# vim test.yml --- - hosts: all remote_user: root ...

  6. Jenkins 通过ssh 拷贝文件到远程机器上。

    想实现的目的是: 在构建之前,从jenkins master上拷贝脚本到需要运行的机器上(linux ssh). 本来是通过publish over ssh 的transfer set可以直接设置,但 ...

  7. [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码

    远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...

  8. 用SSH登录远程的机器,在远程机器上执行本地机器上的脚本

    假设本地的机器IP为10.245.111.90,我们想要在10.245.111.93上执行一个保存在10.245.111.90上的脚本. 经过测试通过的命令如下: ssh root@10.245.11 ...

  9. visualvm监控远程机器上的Java程序

    源文:http://hanwangkun.iteye.com/blog/1195526

随机推荐

  1. codeforces B. Trees in a Row 解题报告

    题目链接:http://codeforces.com/problemset/problem/402/B 题目意思:给出n个数和公差k,问如何调整使得ai + 1 - ai = k.(1 ≤ i < ...

  2. javabean学习

    javabean是一种可重复使用且跨平台的软件组件.他可以分为:客户界面组件(UI,user interface)和没有用户界面,主要负责处理事务(如,数据处理.操作数据库等)地javabean ja ...

  3. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明 1 头文件 #include <map> 2 定义 ma ...

  4. Sublime Text 快捷键及使用技巧的学习整理

    下载和安装(很简单,省略)下载地址 http://www.sublimetext.com/2 1. 有两点需要注意 a) Sublime Text目前稳定的版本是Sublime Text 2,Subl ...

  5. 关于Spring MVC分页

    使用Pageable接口,首先要实例化. 在servlet-context.xml中配置 <annotation-driven> <!-- 分页参数 --> <argum ...

  6. v-for指令用法一

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. angular之两种路由

    安装angular npm install -g @angular/cli ng new myapp ng g component componentName 自带路由 引入:angular-rout ...

  8. MakeFile 文件的使用

    什么是Makefile? 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译, ...

  9. poj 2069 Super Star —— 模拟退火

    题目:http://poj.org/problem?id=2069 仍是随机地模拟退火,然而却WA了: 看看网上的题解,都是另一种做法——向距离最远的点靠近: 于是也改成那样,竟然真的A了...感觉这 ...

  10. ascall文件和二进制文件

    ascall文件可以打开让我们看你们的具体内容. 二进制文件打开我们看到的就是一堆乱码. ascall在换行时不同的平台不一样: windows上面用  \r\n linux上面用 \n 二进制的内容 ...