所以,我必须设置静态IP的默认网关、WINS和DNS,而不是为很多Windows系统(包括Windows7和XP)设置。我做了一个批处理脚本来帮助我使用netsh。问题是并非每个网络接口名称都相同。大部分是“本地连接”,但有些是“以太网”或“无线连接”等等。以下是我剧本中的一句话:
netsh interface ip set address“本地连接”静态192.168%。%range%。%ip_last%255.255.255.0 192.168%。%range%.1
像%range%这样的变量是在用户输入之前设置的。不管怎样,我要问的是我怎样才能做到我可以使用的地方:
netsh interface ip set address“%nic_name%”静态192.168%。%range%。%ip_last%255.255.255.0 192.168%。%range%.1
所以它可以在任何系统上工作。我只希望它使用当前活动的网卡名。非常感谢你的帮助!!

最佳答案

您可以使用wmi查找活动适配器,根据需要调整以下代码并选择名称而不是ip地址:

strComputer = "."
Set objWMIService = GetObject( _
"winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select IPAddress from Win32_NetworkAdapterConfiguration" _
    & " where IPEnabled=TRUE")

For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
    For i=LBound(IPConfig.IPAddress) _
    to UBound(IPConfig.IPAddress)
    If Instr(1, IPConfig.IPAddress(i), "169.") = 0 Then


        WScript.Echo IPConfig.IPAddress(i)
        ELSE
        END IF
    Next
End If
Next

09-04 17:05