当前位置: 首页 > 面试题库 >

更改Windows上IP地址的脚本

林涵映
2023-03-14
问题内容

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

我想要一个允许我快速选择一个或另一个以太网设置(硬件或Internet)的脚本。

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

谢谢,

巴里


问题答案:

您可以使用Python
WMI模块执行此操作(在运行这些脚本之前安装PyWin32扩展和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类的所有功能的完整信息,也可以在MSDN上找到。

注意:我已经使用Python 2.7进行了测试,但是由于PyWIn32和WMI模块可用于Python 3,所以我相信您应该能够通过删除字符串文字前的“
u”来使它适用于Python 3。



 类似资料:
  • 本文向大家介绍Shell脚本实现自动修改IP地址,包括了Shell脚本实现自动修改IP地址的使用技巧和注意事项,需要的朋友参考一下 作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途为:修改ip和主机名等相关信

  • 问题内容: 我正在尝试制作一个可以更改PC /笔记本电脑IP地址和子网掩码的程序。我要输入的内容与Windows(ip / subnet,dns / alternate dns)上IPv4属性的接口相似。 我现在可以想到的是使用netsh命令更改Windows ip。我想做的是在Windows上设置/获取以太网设置 提前致谢 问题答案: 您可以在JAVA中更改注册表,这应该可以解决问题。这些应该有

  • 问题内容: 我想在我的Debian 7.3上制作大型脚本(类似翻译和更多新的用户友好环境)。我有个问题。我只想使用命令提供给我的一些信息。例如,我的ifconfig看起来像: 我只想在行中显示IP地址:echo“您的IP地址为:(IP_ADDRESS)”。是否有任何命令允许我执行此类操作,以便在流中搜索我想获取的信息?我知道,但是我对他们不是很好。 编辑:首先要说谢谢您帮助我解决了这个问题,现在我

  • 问题内容: 我正在尝试编写脚本来获取服务器上的所有IP地址。该脚本应可在所有主要发行版上使用。这是我所拥有的: 导致: 我如何首先删除前缀?第二,如何排除? 问题答案: 不需要。这是一种使用方法: 仅列出地址: 列出设备和地址:

  • 问题内容: 如何从C代码获取Linux上接口的IPv4地址? 例如,我想获取分配给eth0的IP地址(如果有)。 问题答案: 尝试这个: 代码示例是从这里获取的。

  • 本文向大家介绍PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法,包括了PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法的使用技巧和注意事项,需要的朋友参考一下 PowerShell设置DHCP自动获取IP地址,PowerShell可以很方便的设置本地计算机启用DHCP来动态获取IP地址,这需要用到WMI扩展。本文介绍详细的脚本程序。