作者:Daly 出处:http://www.cnblogs.com/daly 欢迎转载,也请保留这段声明。谢谢!

之前的一个项目需要需求希望可以通过命令行去远程执行一些Windows 系统操作。

所以决定采用: Python + vnctool

环境准备:

1. 2 台Windows机器。 其中一台作为lead机器, 一台作target机器。

2. Python2.7.5, VNC-5.0.5安装包和其他一些依赖包。 具体可以参考以下步骤。

On the lead machine:

1. Install Python2.7

1.1. Start with a Windows

1.2. Install python via python-2.7.5.msi

1.3. Set the Environment Variables (2 methods):

a. Open up PowerShell, and paste in the following:

[Environment]::SetEnvironmentVariable("Path",

"$env:Path;C:\Python27\;C:\Python27\Scripts\", "User")

b. Right click Computer and select "Properties" > click "Advanced system settings" > click "Environment Variables..." > select "Path" in "System variables" field and click "Edit" > add "C:\Python27\;C:\Python27\Scripts\;" at the "Variable value"

2. Install Twisted

2.1. Install Twisted via Twisted-13.1.0.win32-py2.7.exe

3. Install PIL

3.1. Install PIL via PIL-1.1.7.win32-py2.7.exe

4. Copy 2 scripts to C:\Python27\Scripts

4.1. Copy file ez_setup.py and get-pip.py to C:\Python27\Scripts

5. Install setuptools

5.1. Download setuptools-1.1.6

5.2. Launch CMD and input the follow commands to install setuptools:

> cd c:\setuptools-1.1.6

> python setup.py install

6. Install pip

6.1. Download pip-1.4.1

6.2. Launch CMD and input the follow commands to install pip:

> cd c:\pip-1.4.1

> python setup.py install

7. Install distribute

7.1. Download distribute-0.7.3

7.2. Launch CMD and input the follow commands to install distribute:

> cd c:\distribute-0.7.3

> python setup.py install

8. Install zope.interface

8.1. Download zope.interface-4.05

8.2. Launch CMD and input the follow commands to install zope.interface:

> cd c:\zope.interface-4.05

> python setup.py install

9. Install vncdotool

9.1. Download vncdotool -0.8.0

9.2. Launch CMD and input the follow commands to install vncdotool:

> cd c:\vncdotool -0.8.0

> python setup.py install

VNC Server installation(Install it on the lead machine and the target machine)

1. Install VNC Server

1.1. Download VNC-5.0.5-Windows.exe

1.2. Install VNC via VNC-5.0.5-Windows.exe

VNC Configuration (Configure it on the lead machine and the target machine)

1. After install VNC Server successfully, right click VNC icon in the bottom right corner of the toolbar > select "Options..."

2. Then select the "Advanced..." button:

3. Choose Authentication as "VNC password" and click "Configure.." > input the password to configure > choose Encryption as "Prefer off"

4. Select tab "Expert" > set the "ProtocolVersion" for the VNCServer to 4.0.

5. Click "Apply" and click "OK" to finish the configuration

VNCDO usage

1. Test the vncdo take effect:

On the lead machine, at the CMD prompt input:

> vncdo.exe -s xxx.xxx.xxx.xxx[the target machine's ip]  -p password[the password you set at VNC Configuration #3]  capture screenshot.png

you will get the target machine's currently screenshot

2. vncdo usage

a. Input "vncdo --help" in CMD to get the vncdo all usage

b. Some useful usage:

>vncdo -s xxx.xxx.xxx.xxx -p password type "hello"

>vncdo -s xxx.xxx.xxx.xxx -p password key ctrl-alt-del expect a.png 0

>vncdo -s xxx.xxx.xxx.xxx -p password type "administrator" key tab type "password" key enter expect d.png 0

3. Get more info from the website: http://pythonhosted.org/vncdotool/

https://pypi.python.org/pypi/vncdotool

vncdotool - A command line VNC client的更多相关文章

  1. Proxy settings in TortoiseSVN and command line svn client

    The server file is created when you install TortoiseSVN, Eclipse or command-line Subversion. Use the ...

  2. Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong. Fix it.

    1.最近使用SVN工具时,Checkout出项目到本地后后,然后将其导入到Intellij idea中开发,在提交svn代码的时候,出现这样的错误:Can't use Subversion comma ...

  3. 使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.

    使用Intellij的svn时提示出错:Can't use Subversion command line client: svn. Errors found while svn working co ...

  4. Can't use Subversion command line client:svn

    在Intellij IDEA里checkout东西时出先这个错误提示:Can't use Subversion command line client:svn Subversion command l ...

  5. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  6. Android Studio集成SVN报错:can't use subversion command line client : svn

    Android Studio集成SVN插件,check out出代码后,每次开启都会在右上角出现如下错误: Can't use Subversion command line client: svn ...

  7. MySQL中MySQL X.X Command Line Client一闪而过的问题

    问题介绍:我安装完MySQL(我安装的是5.5)后,使用MySQL 5.5 Command Line Client,每次点击,总是一闪而过.解决方法如下:      首先进入cmd 切入MySQL的安 ...

  8. Webstorm 提示 Can't use Subversion command line client

    Webstorm 提示 Can't use Subversion command line client Webstorm 提示 Can't use Subversion command line c ...

  9. Mysql安装后打开MySQL Command Line Client闪退解决方法

    1.开始菜单下;Mysql--->mysql server 5.6-->mysql command line Client ---右击,选择属性 2.在属性下查看目标位置: 3.将安装目录 ...

随机推荐

  1. Android下拉列表控件spinner-andoid学习之旅(十一)

    废话不多说,下拉列表常用的就是spinner控件. 直接上代码: package peng.liu.testview; import android.app.Activity; import andr ...

  2. dbms_lob使用之-基础

     在Oracle中,存储在LOB中数据称为LOB的值,如使用Select   对某一LOB字段进行选择,则返回的不是LOB的值,而是该LOB字段的定位器(可以理解为指向LOB值的指针).如执行如下 ...

  3. Swift基础之:新的访问控制fileprivate和open

    (转载的,暂时没有研究过这类语句,有空看看) 在swift 3中新增加了两种访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的s ...

  4. 【一天一道LeetCode】#87. Scramble String

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  5. JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

    JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来 ...

  6. Leetcode_102_Binary Tree Level Order Traversal

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41929059 Given a binary tree, r ...

  7. (NO.00002)iOS游戏精灵战争雏形(四)

    在Xcode打开MainScene,添加初始化代码如下: -(void)didLoadFromCCB{ NSAssert(_sprite1, @"_sprite1 must not nil& ...

  8. LCS问题(最长公共子序列)-动态规划实现

    问题描述: 问题] 求两字符序列的最长公共字符子序列 注意: 并不要求子串(字符串一)的字符必须连续出现在字符串二中. 思路分析: 最优子结构和重叠子问题的性质都具有,所以要采取动态规划的算法 最长公 ...

  9. AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

    书海拾贝之特殊的ng-src和ng-href 在说明这两个指令的特殊之前,需要先了解一下ng的启动及执行过程,如下: 1) 浏览器加载静态HTML文件并解析为DOM: 2) 浏览器加载angular. ...

  10. 跨平台移动APP开发进阶(四)AngularJS简介

    AngularJS 是一个为动态WEB应用设计的结构框架.它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚.简洁地构建你的应用组件. 它的创新点在于,利用 数据绑定 和 依赖注入 ...