PC

PC기존 고정 IP 찾기

미래지식 2025. 4. 23. 16:30
728x90
반응형

*자동 실행 파일은 밑에

 

@echo off
color 1f
title 설치된 윈도의 IP 확인하기
setlocal enabledelayedexpansion

echo 관리자권한 확인용 >%windir%\admin.confirm || (
echo Set UAC = CreateObject^("Shell.Application"^) > "%tmp%\admin.vbs"
echo UAC.ShellExecute "%~0", "", "", "runas", 1 >> "%tmp%\admin.vbs"
"%tmp%\admin.vbs" & del "%tmp%\admin.vbs" & exit)
del %windir%\admin.confirm

set build=0
for /f "tokens=3 delims=.]" %%a in ('ver') do set build=%%a

if %build% LSS 7600 (echo. & echo. & echo.   =====  Windows 7 부터 지원합니다  ===== & echo. & pause & exit)

if /i "%systemdrive%"=="X:" (set W=W) else (set W=W X)

set a=0
for %%a in (C D E F G H I J K L M N O P Q R S T U V %W% Y Z) do if exist %%a:\Windows\System32\Config\System (set /a a+=1& set drv=%%a& call :run)

if %a%==0 (
echo.
echo.      ========================================================
echo.         컴퓨터에서 Windows 를 찾지 못 했습니다
echo.      ========================================================
echo.     
pause
exit
)

echo.
echo.      ========================================================
echo                모든 작업을 완료했습니다
echo.      ========================================================
echo.     
pause
exit

:run

if /i        "%systemdrive%"=="%drv%:" set load=System
if /i not "%systemdrive%"=="%drv%:" set load=load& reg load HKLM\load "%drv%:\Windows\System32\Config\System" 1>nul 2>nul

set b=0
for /f "tokens=3 delims=\" %%a in ('reg query HKLM\%load% /f ControlSet /k') do (
set ControlSet=%%a
for /f "tokens=8 delims=\" %%b in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces /s /f { /k') do (
set c=0
set IPAddress=못 찾음
set SubnetMask=못 찾음
set DefaultGateway=못 찾음
set NameServer1=못 찾음
set NameServer2=못 찾음
set Domain=못 찾음
for %%c in (IPAddress SubnetMask DefaultGateway NameServer Domain) do (
if /i %%c==NameServer (for /f "tokens=3-4" %%d in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces\%%b /v %%c 2^>nul') do set /a c+=1& set NameServer1=%%d& set NameServer2=%%e
) else (for /f "tokens=3" %%d in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces\%%b /v %%c 2^>nul') do set /a c+=1& set %%c=%%d)
)
if !c! geq 1 set /a b+=1& call :msg
)
)

if /i not "%systemdrive%"=="%drv%:" reg unload HKLM\load 1>nul 2>nul

if %b%==0 (
echo.
echo.      =====================================================================
echo.         %drv%: 윈도의 레지스트리
echo.      =====================================================================
echo.         HKLM\System\*ControlSet*\Services\Tcpip\Parameters\Interfaces 
echo.      =====================================================================
echo.         하위 키에서 해당 레지스트리를 찾지 못 했습니다
echo.      =====================================================================
echo.     

exit /b

:msg

echo.
echo.      =====================================================================
echo.         %drv%:Windows\System32\Config\SYSTEM Registry 추출 결과 [%b%]
echo.      =====================================================================
echo.         HKLM\System\%ControlSet%\Services\Tcpip\Parameters\Interfaces 
echo.      =====================================================================
echo.
echo                IP 주소:       %IPAddress%
echo.
echo                서브넷마스크:  %SubnetMask%
echo.
echo                게이트웨이:    %DefaultGateway%
echo.
echo                DNS 기본주소:  %NameServer1%
echo.
echo                    보조주소:  %NameServer2%
echo.
echo                인터넷 회사:   %Domain%     
echo.
exit /b


-------------------
2017-12-21 23:11
2번째 파일: NameServer 와 Domain 순서 일치 시킴 // 레지스트리에서 못 찾았을 경우를 생각하여 기본값을 0 대신에 못 찾음으로 함 // NameServer의 기본값을 NameServer1과 NameServer2로 2개로 수정함 [처음에 NameServer 으로 1개만 했는데 뒤에 수정 잊음]
2017-12-23 15:14
2번째 파일: 계속 - 모든 드라이브에 존재하는 윈도의 모든 레지스트리 한꺼번에 확인함

IP-FIND.bat
0.00MB

728x90
반응형