使用微软自带远程桌面控制校园网内计算机
使用条件
1.被控制电脑系统需要家庭版以上。
2.连接到网络
3.开启远程桌面服务
4.校外控制校内电脑,控制电脑需要使用VPN(很多高校都免费提供)
5.360安全卫士杀毒软件等未禁用远程桌面端口(默认3389)
使用方法
1.开启被控制电脑的远程桌面服务
在Windows 搜索框 输入远程桌面设置,启用远程桌面,并选择可远程访问这台电脑的用户,
查看被控制电脑的ip地址,并记录(每次拨号,或者开关机ip地址都有可能改变)。
2.远程控制电脑
在控制电脑的搜索框搜索远程桌面连接如图所示:
在计算机位置输入 被控制电脑的ip地址(例 172.25.123.255),在用户名处输入被控制电脑的可远程访问这台电脑的用户用户名,可将此设置保存到桌面。连接后输入对应密码即可连接成功。在本地资源处可以设置驱动器,可以在使用被控制电脑上,访问控制电脑的磁盘内容,也可以进行读写文件操作,两台电脑间的文件的复制粘贴也可以使用但不建议(会占用校内网络资源)。
校外使用
在控制电脑上使用VPN即可。
反复横跳
由于网络断开,停电开机等原因,被控制电脑ip地址经常改变,给实现远程控制增加很多麻烦,此章节将结合被控制电脑BIOS、校园网邮箱、Python和Windows 任务计划程序****解锁自由使用远程控制服务。
1.使用原理
- 校园邮箱可以实现在只连接校内网时发送邮件,这一过程也可以在Python,MATLAB等软件上实现。
- Python,MATLAB等软件可以获得电脑ip地址。
- Windows 任务计划程序可以在设定条件下触发运行某些程序或脚本。
- 结合上述三个既可以获取被控制电脑ip。
2.实现方法
- 校园邮箱开启客户端服务,不同学校邮箱可能有所不同,这里不做介绍,可以在网络上搜索有关内容,此处可以得到邮箱的授权码。
- 使用Python发送邮箱,安装stmplib和socket库
代码如下(示例):
import smtplib
import socket
from email.mime.text import MIMEText
from email.header import Header
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)
print(ip)
mail_host = "smtp.xxx.edu.cn" # 校园邮箱服务器,非SMTP协议 可搜索其他发送邮件方式。
mail_user = "name@u.edu.cn" # 用户名
mail_pass = "***********" # 授权码
sender = 'name@xxx.edu.cn'
receivers = ['xxx@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText(ip, 'plain', 'utf-8')
message['From'] = Header("远程控制", 'utf-8')
message['To'] = Header("xxx", 'utf-8') #收件人名称
subject = 'ip地址'
message['Subject'] = Header(subject, 'utf-8')
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
修改参数,运行程序即可发送邮件。
- 脚本发送邮件:
新建文本,并写入
python F:\Send_mail\send_ip.py(此处为Python程序文件路径名。)另存为bat文件。双击此文件,测试是否能发送邮件。 - 条件发送邮件
4.1. 设置常规参数
选中此电脑,右键、管理、任务计划程序中的任务计划程序库,创建任务,设置名称,并修改参数。如图所示。
4.2. 设置触发器
设置触发器,使电脑开机和拨号断开时发送邮件。
4.3. 操作
设置操作启动程序。
这些步骤可以直接导入任务:(只需修改操作程序路径)
在文本文件中新建xml文件,内容如下:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2021-03-10T15:58:26.1261625</Date>
<Author></Author>
<URI>\sendip</URI>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Enabled>true</Enabled>
</BootTrigger>
<EventTrigger>
<Enabled>true</Enabled>
<Subscription><QueryList><Query Id="0" Path="System"><Select Path="System">*[System[EventID=20268]]</Select></Query></QueryList></Subscription>
</EventTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-21-377813917-2060707041-2476026341-1001</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>F:\Send_mail\send_ip.bat</Command>
</Exec>
</Actions>
</Task>
到此即可,记得使用前测试一下。