[代码]python配置网络参数(IP\子网掩码\网关\DNS\DHCP模式)

上一篇 / 下一篇  2011-11-08 21:03:33

python配置网络信息
# config windows network adapter parameters
# need:  python 3.x + wmi + Python for Windows extensions(pywin32)
# wmi: http://pypi.python.org/pypi/WMI/#downloads
# Python for Windows extensions(pywin32): http://sourceforge.net/projects/pywin32/

# code by lymking#hotmail.com

import wmi

wmiObj = wmi.WMI()

nicConfigs = wmiObj.Win32_NetworkAdapterConfiguration(IPEnabled = True)

if len(nicConfigs)<1:
    print("there not find network adapter in your pc\n byebye...")
    exit()

# get & print network adapter name
index=1
for name in nicConfigs:
    print(index, name.Caption);
    index = index + 1;

cardNo = int(input('please entry a integer number to choose a network adaper: '))
nicConfig = nicConfigs[cardNo-1]

print('current network adapter configuration')
print(nicConfig.IPAddress)
print(nicConfig.IPSubnet)
print(nicConfig.DefaultIPGateway)
print(nicConfig.DNSServerSearchOrder)

# input configuration parameters
ipaddress = [str(input('please input ip address(e.g. 192.168.1.2): '))]
subnetMask = [str(input('please input subnet mask(e.g. 255.255.255.0: )'))]
gateway = [str(input('please input default gateway(e.g. 192.168.1.1): '))]
gatewayCost = [1]
dsnServer = [str(input('please input dsn: '))]
print(ipaddress, subnetMask, gateway, dsnServer)

# return value

reboot = 0
# config IP address & subnetmask
resVal = nicConfig.EnableStatic(IPAddress = ipaddress, SubnetMask = subnetMask)
if resVal[0] == 0:
    print("config ip is ok")
elif resVal[0] == 1: # need reboot os
    print("config ip is ok")
    reboot = reboot + 1
else:
    print("config ip is failed!", resVal[0])
    exit()

# config default gateway   
resVal = nicConfig.SetGateways(DefaultIPGateway = gateway, GatewayCostMetric = gatewayCost)
if resVal[0] == 0:
    print("config gateway is ok")
elif resVal[0] == 1: # need reboot os
    print("config gateway is ok")
    reboot = reboot + 1
else:
    print("config gateway is failed!")
    exit()

# config dns   
resVal = nicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = dsnServer)
if resVal[0] == 0:
    print("config dns is ok")
elif resVal[0] == 1: # need reboot os
    print("config dns is ok")
    reboot = reboot + 1
else:
    print("config dns is failed!")
    exit()
   
if reboot > 0:
    print('please reboot your os')
else:
    print('ip:'.join(nicConfig.IPAddress))
    print('subnetmask:'.join(nicConfig.IPSubnet))
    print('default gateway:'.join(nicConfig.DefaultIPGateway))
    print('DNS:'.join(nicConfig.DNSServerSearchOrder))
   
print('modify ip is finish!')

# config network adapter is dhcp mode
resVal = nicConfig.EnableDHCP()
if resVal[0] == 0:
        print('dhcp mode is ok')
elif resVal[0] == 1:
        print('dhcp mode is ok')
        reboot = reboot + 1
else:
        print('dhcp mode is failed')
        exit()

TAG:

 

评分:0

我来说两句

Open Toolbar