公司原来是所有用户都是dhcp获取ip
现在要求所有用网线的设备都改成静态
我的需求是:
检测是否为dhcp获取,不是就不做任何操作
是dhcp过,脚本就把网卡上通过dhcp获取到的ip,掩码,网关,dns信息改成静态的
@echo off
cls
netsh interface ipv4 show addresses > t.txt
set LINE=1
set NAME=
set IP=
set MARK=255.255.255.0
set GETWAY=
set DNS1=114.114.114.114
setlocal enabledelayedexpansion
FOR /F "skip=%LINE% tokens=2,3* delims=, " %%i in (t.txt) do (
echo "!LINE!": !NAME! - !IP! - !GETWAY!
if "!LINE!" == "1" (
set NAME=%%i
)
if "!LINE!" == "3" (
set IP=%%j
)
if "!LINE!" == "5" (
set GETWAY=%%i
goto BREAK;
)
set /a LINE= !LINE! + 1
)
:BREAK
echo "!LINE!": !NAME! - !IP! - !GETWAY!
rem 设置iP
echo netsh interface ipv4 set address name=!NAME! source=static !IP! !MARK! !GETWAY!
netsh interface ipv4 set address name=!NAME! source=static !IP! !MARK! !GETWAY!
rem 设置DNS
echo netsh interface ipv4 set dns name=!NAME! source=static addr=!DNS1!
netsh interface ipv4 set dns name=!NAME! source=static addr=!DNS1!
echo netsh interface ip add dns name=!NAME! addr=!GETWAY! index=2
netsh interface ip add dns name=!NAME! addr=!GETWAY! index=2