一: 获取雷达IP 需要引用模块 WMI模块
1:引用WMI模块
import wmi
global intReboot;
intReboot = 0;
2:初始化IP,子网掩码, 网关
· # IP地址
arrIPAddresses = ['192.168.10.102']
# 子网掩码
arrSubnetMasks = ['255.255.255.0']
# 默认网关
arrDefaultGateways = ['192.168.10.1']
arrGatewayCostMetrics = [1]
# DNS列表
arrDNS = ['114.114.114.114', '114.114.115.115']
:3:启动查询网络适配
# 调用网络适配器配置
NetConfigs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
NetConfig = NetConfigs[0]
4:修改IP,子网掩码,网关,DNS服务 方法
def SetIPServers(NetConfig, arrIPAddressesServer, arrSubnetMasksServer):
returnValue = NetConfig.EnableStatic(IPAddress = arrIPAddressesServer,
SubnetMask = arrSubnetMasksServer)
if returnValue[0] == 0:
print("修改IP成功")
elif returnValue[0] == 1:
print("修改IP成功")
intReboot += 1
else:
print("修改IP失败")
exit()
"""设置默认网关服务函数"""
def SetGatewaysServer(NetConfig, arrDefaultGatewaysServer, arrGatewayCostMetricsServer):
returnValue = NetConfig.SetGateways(DefaultIPGateway = arrDefaultGatewaysServer,
GatewayCostMetric = arrGatewayCostMetricsServer)
print(returnValue)
if returnValue[0] == 0:
print("修改网关成功")
elif returnValue[0] == 1:
print("修改网关成功")
intReboot += 1
else:
print("修改网关失败")
exit()
"""设置DNS服务函数"""
def SetDNSServers(NetConfig, arrDNSServers):
returnValue = NetConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers)
print(returnValue)
if returnValue[0] == 0:
print("修改DNS成功")
elif returnValue[0] == 1:
print("修改DNS成功")
intReboot += 1
else:
print("修改DNS失败")
exit()
5:``完整代码
import wmi
global intReboot;
intReboot = 0;
def SetIPServers(NetConfig, arrIPAddressesServer, arrSubnetMasksServer):
returnValue = NetConfig.EnableStatic(IPAddress = arrIPAddressesServer,
SubnetMask = arrSubnetMasksServer)
if returnValue[0] == 0:
print("修改IP成功")
elif returnValue[0] == 1:
print("修改IP成功")
intReboot += 1
else:
print("修改IP失败")
exit()
"""设置默认网关服务函数"""
def SetGatewaysServer(NetConfig, arrDefaultGatewaysServer, arrGatewayCostMetricsServer):
returnValue = NetConfig.SetGateways(DefaultIPGateway = arrDefaultGatewaysServer,
GatewayCostMetric = arrGatewayCostMetricsServer)
print(returnValue)
if returnValue[0] == 0:
print("修改网关成功")
elif returnValue[0] == 1:
print("修改网关成功")
intReboot += 1
else:
print("修改网关失败")
exit()
"""设置DNS服务函数"""
def SetDNSServers(NetConfig, arrDNSServers):
returnValue = NetConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers)
print(returnValue)
if returnValue[0] == 0:
print("修改DNS成功")
elif returnValue[0] == 1:
print("修改DNS成功")
intReboot += 1
else:
print("修改DNS失败")
exit()
if __name__ == "__main__":
# IP地址
arrIPAddresses = ['192.168.10.102']
# 子网掩码
arrSubnetMasks = ['255.255.255.0']
# 默认网关
arrDefaultGateways = ['192.168.10.1']
arrGatewayCostMetrics = [1]
# DNS列表
arrDNS = ['114.114.114.114', '114.114.115.115']
NetConfigs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
if len(NetConfigs) > 1:
NetConfig = NetConfigs[0]
SetIPServers(NetConfig, arrIPAddresses, arrSubnetMasks)
SetGatewaysServer(NetConfig, arrDefaultGateways, arrGatewayCostMetrics)
SetDNSServers(NetConfig, arrDNS)
else:
print("获取可用的网络适配器失败!")
exit()