安装模块pip install wmi 

# -*- coding: cp936 -*-
#
# FileName: ModifyIP.py
# Date : 2008-01-15
#
import wmi
print'正在修改IP,请稍候...'
wmiService = wmi.WMI()
colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled=True)
#for objNicConfig in colNicConfigs:
# print objNicConfig.Index
# print objNicConfig.SettingID
# print objNicConfig.Description.encode("cp936")
# print objNicConfig.IPAddress
# print objNicConfig.IPSubnet
# print objNicConfig.DefaultIPGateway
# print objNicConfig.DNSServerSearchOrder
if len(colNicConfigs)<1:
print'没有找到可用的网络适配器'
exit()
objNicConfig = colNicConfigs[0]
#for method_name in objNicConfig.methods:
# method = getattr(objNicConfig, method_name)
# print method
arrIPAddresses =['172.16.151.147']
arrSubnetMasks =['255.255.255.0']
arrDefaultGateways =['172.16.151.1']
arrGatewayCostMetrics =[1]
arrDNSServers =['172.16.151.10']
intReboot =0
returnValue = objNicConfig.EnableStatic(IPAddress= arrIPAddresses,SubnetMask= arrSubnetMasks)
if returnValue[0]==0:
print'设置IP成功'
elif returnValue[0]==1:
print'设置IP成功'
intReboot +=1
else:
print'修改IP失败: IP设置发生错误'
exit()
returnValue = objNicConfig.SetGateways(DefaultIPGateway= arrDefaultGateways,GatewayCostMetric= arrGatewayCostMetrics)
if returnValue[0]==0:
print'设置网关成功'
elif returnValue[0]==1:
print'设置网关成功'
intReboot +=1
else:
print'修改IP失败: 网关设置发生错误'
exit()
returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder= arrDNSServers)
if returnValue[0]==0:
print'设置DNS成功'
elif returnValue[0]==1:
print'设置DNS成功'
intReboot +=1
else:
print'修改IP失败: DNS设置发生错误'
exit()
if intReboot >0:
print'需要重新启动计算机'
else:
print''
print'修改后的配置为:'
print'IP: ',', '.join(objNicConfig.IPAddress)
print'掩码: ',', '.join(objNicConfig.IPSubnet)
print'网关: ',', '.join(objNicConfig.DefaultIPGateway)
print'DNS: ',', '.join(objNicConfig.DNSServerSearchOrder)
print'修改IP结束'

python之修改本地Ip地址的更多相关文章

  1. 一个自动修改本地IP地址的BAT

    set /a num1=%random%%%200+1+1  //生成随机数set ip=192.168.1.//ip 主体set ip1=%ip%%num1% //拼接两部分cmd /c netsh ...

  2. python获取本地ip地址的方法

    #_*_coding:utf8_*_ #以下两种方法可以在ubuntu下或者windows下获得本地的IP地址 import socket # 方法一 localIP = socket.gethost ...

  3. Oracle LISTENER 主机名修改为IP地址后LISTENER无法监听到实例 oracle监听错误与hosts文件配置

    为什么listener.ora文件里面HOST后面到底应该输入IP地址还是主机名.我的经验告诉我,这边最好使用主机名.很多的时候,一个机器绑定的不只一个IP地址,如HOST后面是IP地址,那么ORAC ...

  4. 获取本地ip地址 C#

    与ipconfig获取的所有信息一致的方法: private void GetIp() { System.Diagnostics.Process cmdp= new System.Diagnostic ...

  5. Python之实用的IP地址处理模块IPy

    实用的IP地址处理模块IPy 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等 别担心,Ipy模块拯救你.Ipy模块可以很好的辅助我们高效的完成IP的规划工 ...

  6. 获取本地IP地址信息

    2012-06-05    /// <summary>         /// 获取本地IP地址信息         /// </summary>         void G ...

  7. 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件

    提供获取Mac.CPUID.硬盘序列号.本地IP地址.外网IP地址OCX控件 开发语言:vc++ 可应用与WEB程序开发应用 <HTML><HEAD><TITLE> ...

  8. c、c++混编实现查询本地IP地址

    一.思路 1.要想得到本地IP地址,可以通过本机名来查询,所以首先得得到本机名. 2.牵涉到IP地址,首先想到牵涉到网络协议,因此得加载套接字协议,所以先使用WSAStartup函数完成对Winsoc ...

  9. CentOS 网络设置修改 指定IP地址 DNS 网关(转)

    CentOS 网络设置修改 指定IP地址 DNS 网关(实测 笔记)   环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5-x86_64 ...

  10. Oracle 11g RAC 修改各类IP地址

    Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...

随机推荐

  1. (1)从txt读取GPS数据 真实GPS和slam定位GPS匹配 坐标系ecef和enu转化 计算均方根误差和单帧误差

    #!/usr/bin/python # -*- coding: UTF-8 -*- import numpy as np import os #==========================1坐 ...

  2. python3GUI--在线小说播放器By:PyQt5(附ui源码)

    目录 一.准备工作 1.PyQt5 2.qtawesome 3.QMediaPlayer 4.LAVFilters 二.预览 1.启动 2.查看小说详情&播放小说 3.搜索后播放 4.动态演示 ...

  3. 如何修改被编译后DLL文件 (转发)

    我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果:本文将通过一个实例来演示如果完成一个简单的修改;我们将 ...

  4. C# 类库 dll 读取配置文件信息

    一:给 C# 类库 dll 添加配置文件并读取配置信息 效果: 1.给类库程序添加配置文件,并命名为:类库名.DLL.config 如上面效果图,类库为:API.dll ,那么其对应的类库配置文件为: ...

  5. Java数据类型基础

    Java 数据类型基础 数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量必须先定义后使用 Java数据分为两大类 基本类型(primitive type) 数值类型 整数类型 byte(1 ...

  6. IDEA创建Spring Boot项目无法连接http://start.spring.io 解决方法

    1.修改代理 2. 搭建自己的SpringBoot initializer构建服务器 https://blog.csdn.net/KingBoyWorld/article/details/773732 ...

  7. CentOS DNS 安裝步驟

    yum install bind bind-utils bind-devel bind-chroot [root@nw-centos-dns-01 ~]# rpm -qa | grep bind bi ...

  8. 网络存储服务ip-san搭建

                                         网络存储服务ip-san搭建 ip-san简称SAN(Storage Area Network),中文意思存储局域网络,ip- ...

  9. 转载:谷歌浏览器一些https打不开点击高级不行的解决办法

    转载:https://blog.51cto.com/u_15275035/2925642 关于谷歌浏览器一些https网站打不开点击高级不行的解决办法有些url,在谷歌浏览器上打不开,点击高级也没有继 ...

  10. MQ:Communications link failure

    ActiveMQ:Communications link failure问题以及解决办法   ActiveMQ版本:5.5.1 MQ 所使用的 MySQL 是 InnoDB存储引擎 记录人:@郑昀 现 ...