电脑开机自动登录,断网自动重连以及桌面联网小程序

对于需要拨号连接联网的公司企业和学校,每次开机都需要点一下弹出的连接对话框,才能让电脑联网,有没有什么方法无需用户进行任何操作就能自动联网呢?在远程办公时,办公室偶尔会出现断网的情况,远程软件也无法使用了,这时候有没有什么方法能让电脑断网自动重连呢?

使用系统自带的任务计划功能,开机自动拨号、断网自动重连,都不是问题!(嫌麻烦的请直接跳到第4节,下载桌面自动联网exe小程序,发送快捷方式到桌面,首次输入拨号宽带账号密码后,后续只需双击桌面快捷方式即可联网)!

1.任务计划程序库

选择“我的电脑”→右键打开“管理”→系统工具→任务计划→任务计划程序

点击右侧的创建任务,创建新的任务计划。

弹出如下设置窗口,在常规栏中输入好记的名称,以便后续需要修改的情况,比如:Net connection

2.进行联网操作设置

在操作中新建操作,内容如下图右侧所示,在添加参数中输入:【你拨号的名称(一般是宽带连接有的后面可能带了数字)】+【拨号的账号】+【拨号的密码】,三者之间使用空格隔开。完成后点确定,一个联网任务就生成了,后续只需要设置其触发条件,就能实现计划联网功能。

3.设置触发条件

为日常使用方便,可同时设置开机自动联网和断网自动重连,两个触发条件。这两个条件都是在触发器中进行设置,分别如下:

3.1开机自动联网

在触发器中新建触发条件设置如下,触发条件为登录时,则每次登录时将执行第2节中的联网操作。

3.2断网自动重连

想要同时实现断网自动重连,则需要在触发器栏目中另外新建一个触发器,依次选择如下选项,进行设置:

打开“编辑事件筛选器”,选择XML,允许手动编辑查询

上述框中输入如下代码,点击确认,即完成了断网自动重连的设置。

<QueryList>
  <Query Id="0" Path="Application">
    <Select Path="Application">*[System[Provider[@Name='RasClient'] and (Level=4 or Level=0)]]</Select>
  </Query>
</QueryList>

4. 自动拨号联网程序

通过Python生成的自动联网程序(下载地址),下载后可以放在你熟悉的位置,以免被误删。

首次使用时有两种形式:

1.在程序所在的目录下手动创建含有账号密码的txt文件,然后运行程序,即可联网成功。

txt文件名为: 联网账号.txt 

内容为:

账号:xxxx
密码:xxxx

2.执行程序,在弹出的cmd命令窗中按照提示分别输入正确的账号和密码

首次登陆成功后,只要没有更改过txt文件,双击Net.exe即可联网,为了便于使用,最好是右键创建exe文件的快捷方式到桌面。

若报错请检查txt文件中的账号密码是否正确,txt文件是否正确,更改为正确的形式即可。

相应的Python代码如下,仅供交流,直接使用请点击:

链接:https://pan.baidu.com/s/1Gyf_zG7fw2QqK7VMaSQEIQ 
提取码:wz2v 

# 开发作者 :TXH
# 开发时间 :2020-08-30 13:10
# 文件名称 :Net.py
# 开发工具 :Python 3.7 + Pycharm IDE


import os,pickle

'''
宽带连接程序
method = 1 使用txt明文储存账号密码,否则默认采用二进制储存账号密码,文件无法直接打开。
'''
method =0

# 尝试打开本地账号密码储存文件,若不能打开则需要手动输入账号密码
try:
    if method==1:
        print('读取本地账号密码')
        with open('联网账号.txt','r') as f:
            string= f.readlines()
            name = string[0][3:-1] # 读取行时,换行符自动读在每一行的尾部
            keys = string[1][3:]
    else:
        print('读取本地二进制账号密码')
        with open('联网账号.pkl', 'rb') as inf:
            name_keys = pickle.load(inf)
            name = name_keys['name']
            keys = name_keys['keys']

except:
    print('本地无宽带账号密码储存文件\n')
    name = str(input('首次登陆请输入宽带账号:'))
    keys = str(input('请输入宽带密码:'))

# 在终端中运行联网代码
commond = 'rasdial 宽带连接'+' '+name+' '+keys

# 检查联网状态
res = os.system(commond)
if res==0:
    print('联网成功!')
    if method==1:
        with open('联网账号.txt', 'w') as f:  # 设置文件对象
            f.writelines('账号:' + name + '\n')
            f.writelines('密码:' + keys)
    else:
        with open('联网账号.pkl', 'wb') as outf:
            name_keys = {'name':name,'keys':keys}
            pickle.dump(name_keys, outf)
else:
    print('联网失败,请检查配置!')

# 查看 IP地址
# os.system('ipconfig /all')

 

### 回答1: 可以使用Python脚本来实现自动联网自动检测断网重连,并发送IP地址至邮箱。要在Linux系统部署,需要将Python脚本放入/etc/init.d/ 目录下,并修改执行权限;然后在开机启动时,将Python脚本添加到/etc/rc.local文件中,即可实现开机自动执行。 ### 回答2: 要编写一个自动联网的Python程序,并在断网自动重连,可以使用Python中的`socket`和`smtplib`库实现。 首先,需要编写一个循环程序,用于不断尝试与网络建立连接,一旦连接成功,就获取当前的IP地址,并发送到指定的邮箱。 以下是一个简单的实现示例: ```python import socket import smtplib from email.message import EmailMessage import time def get_ip(): # 获取当前的IP地址 hostname = socket.gethostname() ip_address = socket.gethostbyname(hostname) return ip_address def send_email(ip_address): # 发送带有新的IP地址的邮件 msg = EmailMessage() msg.set_content(f"New IP Address: {ip_address}") msg['Subject'] = 'New IP Address' msg['From'] = 'sender@gmail.com' msg['To'] = 'recipient@gmail.com' with smtplib.SMTP('smtp.gmail.com', 587) as smtp: smtp.starttls() smtp.login('sender@gmail.com', 'password') smtp.send_message(msg) def connect_to_network(): # 连接到网络,并发送新的IP地址 while True: try: socket.create_connection(("www.google.com", 80)) ip_address = get_ip() send_email(ip_address) break except socket.error as e: print("Error connecting to network:", e) time.sleep(5) if __name__ == "__main__": connect_to_network() ``` 在Linux系统上部署和设置开机自动执行,可以按以下步骤进行: 1. 将以上程序保存为一个名为`auto_connect.py`的文件。 2. 打开终端,使用以下命令安装所需的`smtplib`库: ```bash pip install secure-smtplib ``` 3. 使用以下命令给`auto_connect.py`文件添加可执行权限: ```bash chmod +x auto_connect.py ``` 4. 使用以下命令在后台运行程序: ```bash nohup ./auto_connect.py & ``` 现在,程序将在后台执行,并在断网自动重连并发送新的IP地址到指定的邮箱。 如果想要在系统开机自动执行该程序,可以将以下命令添加到启动脚本中(例如`.bashrc`或`.profile`文件): ```bash /path/to/auto_connect.py & ``` 确保将`/path/to/auto_connect.py`替换为`auto_connect.py`的实际路径。这样,无论何时系统启动,该程序都会自动执行。 ### 回答3: 编写自动联网的Python程序,并在断网时实现自动重连,以及在连接成功后向邮箱发送新的IP地址。 代码如下: ```python import smtplib import socket import time import requests # 定义发送邮箱相关信息 sender_email = '你的发送邮箱地址' sender_password = '你的发送邮箱密码' receiver_email = '接收邮箱地址' smtp_server = '邮箱的SMTP服务器地址' def send_email(ip): message = 'Subject: 新的IP地址\n\n' + '设备的新IP地址为:' + ip try: # 连接邮箱服务器 server = smtplib.SMTP(smtp_server, 587) server.starttls() # 登录邮箱 server.login(sender_email, sender_password) # 发送邮件 server.sendmail(sender_email, receiver_email, message) print("邮件已发送") except Exception as e: print("邮件发送失败:" + str(e)) finally: # 关闭连接 server.quit() def get_ip(): response = requests.get('https://api.ipify.org?format=json') return response.json()['ip'] def check_internet(): while True: try: # 尝试连接百度,如果可以连接则联网成功 socket.create_connection(('www.baidu.com', 80), timeout=5) print("已连接互联网") break except OSError: print("未连接互联网,等待重新连接...") time.sleep(5) def main(): check_internet() old_ip = get_ip() send_email(old_ip) while True: time.sleep(10) if get_ip() != old_ip: new_ip = get_ip() send_email(new_ip) old_ip = new_ip if __name__ == '__main__': main() ``` 部署步骤如下: 1. 将以上代码保存为文件,例如`network.py`。 2. 在Linux系统上安装Python和所需的依赖库,可以使用以下命令安装所需的库: ``` pip install requests ``` 3. 终端中运行程序,使用以下命令: ``` python /path/to/network.py ``` 这样就能手动运行程序。如果连接上了互联网程序将会发送当前设备的IP地址给指定的邮箱。 接下来,我们需要在Linux系统中设置开机自动执行。 4. 在终端中运行以下命令: ``` crontab -e ``` 5. 使用合适的文本编辑器打开Crontab文件,在文件中添加以下内容: ``` @reboot python /path/to/network.py ``` 6. 保存并关闭文件,这样程序将会在每次开机自动执行。 完成以上步骤后,程序将会在每次开机自动运行,并且会自动重连断网后发送新的IP地址。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txh3093

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值