python wmi 修改网卡IP windows

import wmi
from time import sleep
import re

w = wmi.WMI()
num1 = 0

try:
    # 遍历所有网卡
    for network in w.Win32_NetworkAdapterConfiguration(IPEnabled=True):
        # print(network.Description)
        # 获取有效网卡
        if network.IPAddress:
            print('{}. {}'.format(num1, network.IPAddress))
            num1 += 1
    # 网络索引数
    n = int(input('请选择网卡:'))
    # 选择网卡
    net = w.Win32_NetworkAdapterConfiguration(IPEnabled=True)[n]

    i = input('10.10.21.')
    # IP地址
    add = ['10.10.21.{}'.format(i)]
    # 掩码
    mask = ['255.255.255.0']
  	# 24位掩码 获取网络位
    zhuji = re.findall(r'(\d+.\d+.\d+.)\d+', i)
    # 配置网关地址
    g = input('网关:{}'.format(zhuji[0]))
    # 网关
    gateway = [zhuji[0] + g]
    # 网关优先级 数字越低优先级越高
    gateway_metric = [1]
    # dns
    dns = ['114.114.114.114', '223.5.5.5']
	# 配置IP、掩码
    sta = net.EnableStatic(IPAddress=add, SubnetMask=mask)
    # print(sta[0])
    # 修改成功返回0
    if sta[0] != 0:
        print('{} ip/掩码修改失败!!!'.format(add))
    else:
        print('{} ip修改成功!'.format(add))
    # 配置网关、网关优先级
    gat = net.SetGateways(DefaultIPGateway=gateway, GatewayCostMetric=gateway_metric )
    # print(gat[0])
    if gat[0] != 0:
        print('{} 网关修改失败!!!'.format(gateway))
    else:
        print('{} 网关修改成功!'.format(gateway))
    # 配置DNS
    dnss = net.SetDNSServerSearchOrder(DNSServerSearchOrder=dns)
    # print(dns[0])
    if dnss[0] != 0:
        print('{} dns修改失败!!!'.format(dns))
    else:
        print('{} dns修改成功!'.format(dns))
    print('\n修改结束!')
    sleep(6)


except Exception as e:
    print('程序出错{}'.format(e))
    sleep(6)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值