生活中的python-实现自动更换ip

在办公室有两个网络需要随时切换使用,而且需要静态获取,每次手动太麻烦,所以写了个脚本用来自动切换ip。

源码已经上传:https://github.com/juventusryp/python-in-life


# -*- coding: utf-8 -*-

import wmi

import random

print ('正在修改IP,请稍候...')

wmiService = wmi.WMI()

colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled = True)

if len(colNicConfigs) < 1:

print ('没有找到可用的网络适配器')

exit()

print ("-------------------------------------------------------\n")

for i in range(len(colNicConfigs)):

print (str(i+1)+" : ",colNicConfigs[i].IPAddress)

print ("-------------------------------------------------------\n")

i=int(input("选择以太网卡:\n"))

objNicConfig = colNicConfigs[i-1]

i=int(input("---------------------------\n1、切换成校园网\n2、切换成联通网\n---------------------------\n"))

if(i==1):

arrIPAddresses = ['192.168.2.11']

arrSubnetMasks = ['255.255.255.0']

arrDefaultGateways = ['192.168.2.1']

arrGatewayCostMetrics = [1]

arrDNSServers = ['114.114.114.114', '8.8.8.8']

intReboot = 0

returnValue = objNicConfig.EnableStatic(IPAddress = arrIPAddresses, SubnetMask =arrSubnetMasks)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置IP成功')

intReboot += returnValue[0]

else:

print ('修改失败: IP或子网掩码设置发生错误')

returnValue = objNicConfig.SetGateways(DefaultIPGateway = arrDefaultGateways, GatewayCostMetric = arrGatewayCostMetrics)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置网关成功')

intReboot += returnValue[0]

else:

print ('修改失败: 网关设置发生错误')

returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置DNS成功')

intReboot += returnValue[0]

else:

print (str(returnValue)+'修改失败: DNS设置发生错误')

else:

arrIPAddresses = ['10.253.201.100']

arrSubnetMasks = ['255.255.224.0']

arrDefaultGateways = ['10.253.223.254']

arrGatewayCostMetrics = [1]

arrDNSServers = ['114.114.114.114', '8.8.8.8']

intReboot = 0

returnValue = objNicConfig.EnableStatic(IPAddress = arrIPAddresses, SubnetMask =arrSubnetMasks)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置IP成功')

intReboot += returnValue[0]

else:

print ('修改失败: IP或子网掩码设置发生错误')

returnValue = objNicConfig.SetGateways(DefaultIPGateway = arrDefaultGateways, GatewayCostMetric = arrGatewayCostMetrics)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置网关成功')

intReboot += returnValue[0]

else:

print ('修改失败: 网关设置发生错误')

returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers)

if returnValue[0] == 0 or returnValue[0] == 1:

print ('设置DNS成功')

intReboot += returnValue[0]

else:

print (str(returnValue)+'修改失败: DNS设置发生错误')

if intReboot > 0:

print ('需要重新启动计算机')

print ('修改结束')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,436评论 25 708
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,579评论 6 427
  • 我醒了 就在这片树林里 我睁开眼 却发现,什么也看不见 我的眼里,是一片黑暗 我忙忙碌碌 恐惧,溢满心间 我不知道...
    木庭兮阅读 714评论 19 16
  • 我也要玩 是非 这几天阿姨请假回家,一切家务需要我来做。 看着一堆碗筷,我故作愁眉苦脸:“哎呀,怎么还要洗碗,我要...
    是非成败阅读 608评论 0 3
  • 萌叔萌叔阅读 117评论 0 0