凌晨2:00——机房告急
最近几天,在家用TeamViewer控制办公室电脑办公。这天晚上,办公室的电脑出问题了,远程控制没有问题,但软件运行出错,技术人员说系统出了问题,需要重装。但此时已是凌晨两点,去办公室已不太现实,时间紧迫。
凌晨2:05——决定重装
经过一番思虑,我决定远程重装系统。用一键安装Windows的软件,只需要在Windows下做好设置,电脑启动后会自动利用ghost镜像文件即可进行安装。
凌晨2:10——定制镜像文件
由于办公室的电脑并没有做过备份,得使用一个新的ghost镜像文件,但重装后系统中的TeamViewer没有了,如何远程控制呢?思前想后,我打开软件GhostExplorer.exe,将手头的一个ghost镜像文件做一下修改,将安装好的TeamViewer文件夹复制到镜像文件里面的c:program files下面去,这样,新系统安装好后也就有了TeamViewer文件。
凌晨2:25——制作启动菜单批处理
新系统安装好后,必须得运行TeamViewer才能受控,这也难不倒我,我编写了一个批处理a.bat,内容就是一行语句:"C:Program FilesTeamViewerVersion6TeamViewer.exe" --control "%1",作用就是启动TeamViewer,将这个批处理文件也放进了手头的ghost包中。这次放的位置是“C:Documents and SettingsAdministrator「开始」菜单程序启动”文件夹下,这样就意味着新系统装好后,启动完毕,会自动运行这个批处理,那么就能启动TeamViewer。
凌晨2:33——搜寻受控密码,制作reg文件
考虑到TeamViewer是有受控密码的。如果系统重装,用户设定的密码没有了,依然无法控制。那么只有找到TeamViewer用户设定密码的存储位置,将其放在远程的电脑中去。经过查找,我终于在注册表中找到[TeamView]一项(图1)。经过测试得知其中的SecurityPasswordAES这行就是密码,于是我将其导出,保存在E盘,取名为tea.reg。
Win7硬盘安装教程:http://www.xp85.com/html/article-95-1613.html
凌晨2:42——让启动菜单自动导入reg文件
如果直接把这个文件放进启动菜单,那么系统开机的时候确实会自动执行该注册表,但是这个时候不会导入,而是弹出一个导入的对话框,如果是在本机操作,单击确定就可以了,但这时远程电脑已不受我控制了,所以,会在这一步卡祝怎么办?我突然想到regedit.exe命令有个参数 /s 。如果加上了这个参数,在导入注册表时不会有任何提示,直接导入。于是我在批处理文件中添加了一条语句,现在a.bat的内容就变成了如下样子:
regedit.exe /s "e:tea.reg"
"C:Program FilesTeamViewerVersion6TeamViewer.exe" --control "%1"
第一行先导入注册表,第二行启动Teamviewer受控端。
凌晨2:50——再次修改批处理,设置延时
这时我又忽然想到一个系统的网络延迟问题。批处理命令会在进入系统过后马上执行。但那台受控机器档次高,开机速度比较慢。XP在开机后,网络不能马上使用,初始化要等待一段时间。而TeamViewer早早运行,可能会因没有网络而产生错误。最好做点延时!批处理命令的延时比较麻烦,而且不准确。不过也没关系,我只需要延长一段大约的时间就可以了。经过再三斟酌,我再次修改了a.bat文件,如下所示:
regedit.exe /s "e:tea.reg"
@echo off
echo %time%
ping /n 60 127.1 >nul
echo %time%
"C:Program FilesTeamViewerVersion6TeamViewer.exe" --control "%1"
其中ping /n 60 127.1 >nul这行的意思就是等待60秒左右的时间。
凌晨2:55——登录路由器,绑定IP与MAC地址
计算机安装好后,都是自动获取的IP地址可能有所变化,怎么办呢?我首先查看了受控计算机的MAC地址,然后登录路由器,将其MAC地址和IP地址绑定在一起,这样,就算重装了系统,其获取的IP地址还是不会发生改变。
凌晨3:00——搜寻注册表,导出防火墙reg文件
新安装的系统在一般情况下本地连接的防火墙是打开了的,那么TeamViewer这款软件在启动的时候会访问网络,这个时候防火墙会弹出对话框,如果不解除阻止的话,那么Windows的系统防火墙会自动阻止TeamViewer访问网络,这样我还是不能控制远程电脑。该怎么办呢?还是老方法,注册表。防火墙的打开和关闭,在注册表中肯定有所体现,只要导出就可以了,经过一番搜索和测试,我找到了这个项目(图2)。其中,这个EnableFirewall项就是是否打开防火墙的,如果值为0,则关闭防火墙,如果值为1,则打开防火墙。我同样将其导出,起名为fire.reg,存放在受控机的E盘。
凌晨3:03——让批处理能导入防火墙reg文件
最后修改启动菜单的批处理,使之能导入防火墙的reg文件。再次修改a.bat,使其内容成为如下几行:
regedit.exe /s "e:tea.reg"
regedit.exe /s "e:fire.reg"
@echo off
echo %time%
ping /n 60 127.1 >nul
echo %time%
"C:Program FilesTeamViewerVersion6TeamViewer.exe" --control "%1"
凌晨3:05——远程复制文件,重装系统
所有工作准备就绪,开始操作。我首先通过共享文件夹,将我做好的注册表文件、ghost安装镜像文件(我修改过的)都复制到受控机器的指定位置,然后在受控机上运行一键还原,出现对话框后选择“自定义操作”(图3),出现选择文件对话框,选择我刚才复制过去的ghost镜像文件并确定,只见系统窗口一暗,受控机器重新启动了。
凌晨3:10——漫长的等待
下面的操作就不受我控制了,只能寄希望于我的所有构思完全正确。过了一段时间,我在CMD窗口输入ping 192.168.1.102 –t这个命令(该IP是我为受控机器绑定的IP地址),耐心等待,在受控机还没有安装好,没有进入系统的时候,CMD窗口中就一直是Request timed out。
凌晨3:28——恢复正常
突然,CMD窗口出现了Reply from 192.168.1.102: bytes=32 time=3ms TTL=63,说明受控机的系统安装好了,我心中一阵狂喜,又等了几分钟,启动本机的TeamViewer,在伙伴ID中输入受控机的IP地址(图4),然后点击连接到伙伴。过了一会,出现要求输入密码的对话框,这说明受控机的TeamViewer也正常启动了,输入我开始设置好的密码,点击“登录”,出现了受控机的屏幕,呵呵,成功了!我又可以远程办公了。