Pc电脑一般连网都是动态DHCP获取局域的IP地址,而且DNS服务器为自动获取地址。要修改DNS就要打开本地网络-本地连接- 属性- TCP/IP 手动修改DNS。
其实Python也可以通过WMI接口之间修改DNS服务器地址
WMI:
管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API;相反,操作系统的不同部分都可以插入WMI,如图所示,工具软件和脚本程序可以方便地读写WMI。
连接: http://baike.so.com/doc/5508538-5744284.html
免费的DNS 服务器IP地址:
['114.114.114.114', '114.114.115.115', '114.114.114.119', '114.114.115.119', '114.114.114.110',
'114.114.115.110', '180.76.76.76', '223.5.5.5', '223.6.6.6', '1.2.4.8', '210.2.4.8', '199.91.73.222',
'178.79.131.110', '208.67.222.222', '208.67.220.220', '8.8.8.8', '8.8.4.4']
代码:
# -*- coding: UTF8 -*-
import wmi def DnsDef():
wmiService = wmi.WMI()
colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled=True)
if len(colNicConfigs) < 1:
print("没有找到可用的网络适配器")
exit()
objNicConfig = colNicConfigs[0]
arrDNSServers = ['114.114.115.115']
returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder=arrDNSServers)
if returnValue[0] == 0:
print("修改成功")
else:
print("修改失败") DnsDef()