首页 > 代码库 > windows下脚本配置IP地址

windows下脚本配置IP地址

带着笔记本有时候在固定的地方工作,需要用到同一个的Ip地址。换个地方换个Ip,又要重新输一遍。

开始感觉这个过程很繁琐,因为是window工作环境,一开始想到了vbs脚本。

无意中发现了强大的netsh命令。。。。

下面分两个部分,先介绍netsh的基本用法,然后贴段vbs脚本实现自动配置IP地址功能。

netsh常见用法

  • 查看网络配置 netsh interface ip show {选项}
  • 配置接口IP/网关IP netsh interface ip set address "本地连接" static ip地址 子网掩码 网关
  • 配置自动换取IP地址 DNS地址及 wins地址

    netsh interface ip set address "本地连接" dhcp

    netsh interface ip set dns "本地连接" dhcp

    netsh interface ip set wins "本地连接" dhcp

  • 配置静态IP地址 DNS地址 及 wins地址

    netsh interface ip set address "本地连接" static ip地址

    netsh interface ip set dns "本地连接" static 子网掩码

    netsh interface ip set wins "本地连接" static 网关

  • 查看网络配置文件 netsh -c interface dump 使用管道 > 可导出为网络配置文件
  • 导入网络配置文件 netsh -f 文件位置 或者 netsh exec 文件位置

vbs实现配置脚本

strIP = "10.37.7.228"
strMask = "255.255.255.0"
strGW = "10.37.7.254"

strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress = Array(strIP)
strSubnetMask = Array(strMask)
strGateway = Array(strGW)
strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    If errEnable = 0 Then
        WScript.Echo "IP地址已更改。"
    Else
        WScript.Echo "更改IP地址失败。"
    End If
Next

windows下脚本配置IP地址