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

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

时间: 2024-11-07 22:52:20

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

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

转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当

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

JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当前最新版本是: 1.3.2,如下所示: 在图中已经列出了它的官方网站地址: http:

利用paramiko模块批量查看远程机器上指定进程的相关信息

#! /usr/bin/env python #coding:utf-8 #通过paramiko模块,获得远程机器的指定进程相关信息:     import paramiko   host_lists=(             ('node1','172.16.41.151'),             ('node2','172.16.41.152'),             ('node3','172.16.41.153'),             ('node4','172.16.4

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

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

连接远程ubantu系统,创建用户并登陆

root创建新的账号 1.ssh [email protected] 2.add user xx 3.(sudo)gpasswd -a xl sudo 4.sudo visudo 5.xx ALL=(ALL:ALL) ALL 本地配置公钥 a.已有 3. eval  "$(ssh-agent -s)"(在.ssh里) 4.ssh-add ~/.ssh/id_rsa b.没有 1.mkdir .ssh 2.ssh-keygen -t rsa -b 4096 -C "[email

避免在同一机器上同时运行同一应用程序的多个实例

通常,使用有名互斥体(named mutex).但是该方案有以下的缺陷 互斥体的名称有被其他应用程序使用的较小,潜在风险.此时,该方案不再有效,并且很难检测到bug. 该方案无法实现允许一个应用程序产生N个实例这样的一般问题. 使用Process类. 1 /// <summary> 2 /// check whether other instance of the application is running. 3 /// </summary> 4 /// <returns&

VS编译完成后自动复制到远程机器

最近在调试网络通信,每次一有点小修改,都要将程序从开发机复制到测试机,不胜烦扰.既然我们程序猿,为什么要那么死板呢,能够用代码解决的问题,就不要用手去解决. 先说复制,我们除了手工复制就没有其他办法了吗?在命令提示符下面,我们用于管理文件和文件夹的命令多的是,比如RENAME.DEL.Copy用于文件,MKDIR.RMDIR.XCOPY用于目录.查看命令提示符的常用命令,我们可以通过在命令提示符中输入Help进行查看,如下图: 一般情况,我们都需要将整个目录复制过去,所以我用了XCOPY命令(如

python3使用paramiko操作远程机器

目标:有A和B两台机器,希望在机器A上操作B上的脚本 解决方法:使用paramiko实现操作远程机器 1.安装paramiko 安装第三方包[pip3 install paramiko] 如果pip访问国外站点总超时,可以使用国内镜像,使用-i指定, --trusted-host pypi.douban.com信任镜像源 pip3 install paramiko -i http://pypi.douban.com/ --trusted-host pypi.douban.com pipy国内镜像

使用Telnet与ssh协议远程登录linux系统

一.计算机的登录 计算机终端设备通过输入用户账户标识和与之对应的口令的方式被计算机验证的过程. 终端的分类: 1)物理终端:计算机本身的控制台设备:通常将其标识为"pty",在现代计算机上,物理终端与早期的计算机上的物理终端的意义不一样了.在现在的linux系统上,物理终端设备被映射到/dev/console上,所有内核输出的信息都输出到console终端,除此之外,其他用户进程输出的信息一般都输出到虚拟终端或伪终端 2)虚拟终端:在现代的计算机中,通常将键盘+显示器组合称作"