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()

Python 修改电脑DNS-风君雪科技博客

Python 修改电脑DNS-风君雪科技博客