gpt4 book ai didi

python - 在Windows上更改IP地址的脚本

转载 作者:太空狗 更新时间:2023-10-29 17:42:30 36 4
gpt4 key购买 nike

我使用我的计算机通过以太网与硬件进行通信。为了与此设备通信,我将 ip 设置为 192 168 0 11,子网掩码设置为 255 255 255 0,IPv4 的默认网关设置为 192 168 0 1。要使用互联网,我通过控制面板选择“自动获取 IP 地址”。

我想要一个脚本,让我可以快速选择一个或另一个以太网设置 - 硬件或互联网。

我主要用 python 编程,但也许有一个批处理文件解决方案。

谢谢,

巴里。

最佳答案

您可以使用 Python WMI module执行此操作(在运行这些脚本之前安装 PyWin32 extensions 和 WMI 模块)。以下是如何配置与硬件设备对话的方法:

import wmi

# Obtain network adaptors configurations
nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)

# First network adaptor
nic = nic_configs[0]

# IP address, subnetmask and gateway values should be unicode objects
ip = u'192.168.0.11'
subnetmask = u'255.255.255.0'
gateway = u'192.168.0.1'

# Set IP address, subnetmask and default gateway
# Note: EnableStatic() and SetGateways() methods require *lists* of values to be passed
nic.EnableStatic(IPAddress=[ip],SubnetMask=[subnetmask])
nic.SetGateways(DefaultIPGateway=[gateway])

以下是恢复自动获取 IP 地址(通过 DHCP)的方法:

import wmi

# Obtain network adaptors configurations
nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)

# First network adaptor
nic = nic_configs[0]

# Enable DHCP
nic.EnableDHCP()

注意:在生产脚本中,您应该检查 EnableStatic() 返回的值, SetGateways()EnableDHCP() . (“0”表示成功,“1”表示需要重新启动,其他值在通过方法名称链接到的 MSDN 页面上进行了描述。注意:对于 EnableStatic() 和 SetGateways(),错误代码以列表形式返回)。

关于 Win32NetworkAdapterConfiguration 类所有功能的完整信息也可以是 found on MSDN .

注意:我用 Python 2.7 对此进行了测试,但由于 PyWIn32 和 WMI 模块可用于 Python 3,我相信您应该能够通过删除字符串文字前的“u”来使它在 Python 3 上工作。

关于python - 在Windows上更改IP地址的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580834/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com