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. 【CQ18高一暑假前挑战赛2】标程

    [昨晚打校赛,5个小时打完很累了,所以搞忘出题了...对不起学弟们,不过出的题都亲自写过一遍,可以保证题目和代码长度都不长,题目难度不大] [A:bush博弈] #include<bits/st ...

  2. bzoj 3992 [SDOI2015] 序列统计 —— NTT (循环卷积+快速幂)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3992 (学习NTT:https://riteme.github.io/blog/2016-8 ...

  3. GMap.NET 显示GIF图标的定制

    利用System.Drawing.ImageAnimator类实现GIF图标显示 public class GMapMarkerImage : GMapMarker { private Image i ...

  4. hibernate VS mybatis

    1: 一般来说,业务逻辑比较简单,集增删改查就可以满足需求,建议使用hibernate,而复杂的业务逻辑,尤其是多表关联查询,建议使用mybatis. 2: hibernate有更好的二级缓存机制,可 ...

  5. 【221】◀▶ IDL GUI 函数说明

    参考:GUI - Dialogs Routines参考:GUI - Widgets Routines参考:GUI - Compound Widgets Routines 01   DIALOG_MES ...

  6. 1.17 shell action

    一.shell action 1. ##job.properties nameNode=hdfs://hadoop-senior.ibeifeng.com:8020 jobTracker=hadoop ...

  7. 微信小程序开发之页面注册

    页面Page是object Page({  data:{    String1  },  onLoad:function(options){    // 生命周期函数--监听页面加载 一个页面只会调用 ...

  8. Flutter实战视频-移动电商-05.Dio基础_引入和简单的Get请求

    05.Dio基础_引入和简单的Get请求 博客地址: https://jspang.com/post/FlutterShop.html#toc-4c7 第三方的http请求库叫做Dio https:/ ...

  9. 萌新java入门笔记

    首先声明以下内容只是散乱笔记,如果有误还望大侠指出!不胜感激! 基本数据类型: 大体和C语言类似: boolean truth = true;//逻辑型 //文字型 char c; String st ...

  10. [Xcode 实际操作]九、实用进阶-(29)为App添加IAP(支付方式)内购项目

    目录:[Swift]Xcode实际操作 首先请阅读:[Xcode10 实际操作]九.实用进阶-(28)在iTunes Connect(苹果商店的管理后台)中创建一个新的新的APP 本文将演示如何给刚刚 ...