윈 도 우 CMD 배치파일로 고정IP 자동설정 질문
2022.12.28 14:41
CMD 배치파일로 고정IP 자동설정 시 IP주소만 입력 시 서브넷/게이트웨이/DNS 자동으로 설정되도록 만들고 싶은데요..
아래처럼 하면 DNS는 설정 되는데 중요한 IP/서브넷/게이트웨이 는 아무런 변동이 없네요..
혹시 방법이 없을까요..?
(예시)...
@echo off setlocal @cls title 고정 IP 및 DNS 설정 프로그램 echo =============================================== echo 고정 IP 및 DNS 설정하기 echo. echo *** 랜선이 연결된 상태에서 설정하세요.*** echo =============================================== set /p inputIP = 사용할 IP를 입력해주세요.: echo. echo ... 네트워크 설정 중입니다.. :: 네트워크이름 찾기 for /f "tokens=2 delims==" %%a in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionId /format:list') do set netId=%%a :: IP 설정 입력받은 IP x.x.x.x에서 " . "으로 구분하고, :: 회사 IP 정책에 따라 3번째가 게이트웨이가 변경됨. for /f "tokens=1,2,3,4 delims=." %%i in ("%inputIP%") do netsh interface ip set address "%netID%" static %inputIP% 255.255.255.0 %%i.%%j.%%k.2 :: 고정DNS netsh interface ip set dns "%netID%" static 8.8.8.8 primary netsh interface ip add dns "%netID%" 1.1.1.1 index=2 echo. echo ... IP 및 DNS 설정이 완료되었습니다... echo. pause
댓글 [4]
-
히이이잌 2022.12.28 15:14
@echo offsetlocal@clstitle 고정 IP 및 DNS 설정 프로그램echo ===============================================echo 고정 IP 및 DNS 설정하기echo.cho *** 랜선이 연결된 상태에서 설정하세요.***echo ===============================================set /p inputIP = 사용할 IP를 입력해주세요.:echo.echo ... 네트워크 설정 중입니다..:: 네트워크이름 찾기for /f "tokens=2 delims==" %%a in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionId /format:list') do set netId=%%a이 명령을 통해 네트워크 어댑터의 이름을 받아서 netID 변수에 저장하고, 아래 netsh 명령을 통해 적용합니다.PC에 따라 wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionId /format:list명령을 입력했을 때, vEthernet 등 불필요한 어댑터가 표시되는 경우가 있어서, IP 설정이'이더넷' 어댑터가 아닌 불필요한 어댑터에 적용되는것으로 보입니다.한개의 PC에서 사용하려면 netID 변수를 그냥 PC의 어댑터 이름으로 변경하시고,불특정 다수의 PC에서 적용할 예정이라면 불필요한 어댑터 이름을 모아서 예외처리 하거나 다른 명령을 사용하세요.:: IP 설정 입력받은 IP x.x.x.x에서 " . "으로 구분하고,:: 회사 IP 정책에 따라 3번째가 게이트웨이가 변경됨.for /f "tokens=1,2,3,4 delims=." %%i in ("%inputIP%") do netsh interface ip set address "%netID%" static %inputIP% 255.255.255.0 %%i.%%j.%%k.2:: 고정DNSnetsh interface ip set dns "%netID%" static 8.8.8.8 primary netsh interface ip add dns "%netID%" 1.1.1.1 index=2echo.echo ... IP 및 DNS 설정이 완료되었습니다...echo.pause -
배움의길로 2022.12.28 15:24
다수의 PC에서 사용 필요 시 대체 할수 있는 명령어는 어떤게 있을까요..?
-
녹색조각 2022.12.28 15:57
IP와 게이트웨이를 제외한 모든 값이 고정된 환경이라면 그냥 단순하게 만드세요.
명령어는 질문글에 있는 스크립트 처럼 netsh 사용하시면 됩니다.
-
무월 2022.12.28 17:04