IP 대역 98.18 부분을 사용 할 사내망 IP 대역으로 변경하세요.
RAM---Computer IP Setting 안에
SUBNETMASK, DNS1, DNS2 사내망 네트워크 정보로 수정하여 사용하세요.
@echo off
title CASZONE X-TOOLS v4.8 (개발자:김인철)
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Run as Administrator...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
rem del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
:MENU
c:
cd\
cls
echo.
echo ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
echo.
echo CASZONE X-TOOLS v4.8 (개발자:김인철)
echo.
echo ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
echo.
echo.
echo [1] 교체 전 - 기존 PC 에서 (백업)
echo.
echo.
echo [2] 교체 후 - 새 PC 에서 (복원)
echo.
echo.
echo [3] 컴퓨터 이름 및 네트워크 ip 변경
echo.
echo [4] 프로그램 닫기
echo.
echo.
set /p choice= "진행 할 작업 번호를 입력하세요 : "
echo.
if "%choice%" == "1" goto :BEFORE
if "%choice%" == "2" goto :AFTER
if "%choice%" == "3" goto :NETWORKYESPLUS
if "%choice%" == "4" goto :END
goto MENU
echo.
:BEFORE
cls
:DRVCHECK
echo.
md "D:\###CASZONE###"
echo.
if %errorlevel% equ 0 (
echo.
echo D 드라이브에 폴더를 생성 하였습니다.
goto DRVCHECK-D
) else (
echo.
echo D 드라이브로 설정 할 수 없습니다.
goto DRVCHECK-E
)
exit /b
:DRVCHECK-D
set DISK=D
goto BEFORE-SET
:DRVCHECK-E
echo.
echo.
echo 네트워크 정보 및 인증서를 백업 할 위치 선택하세요.
echo.
echo C 파티션을 제외한 드라이브를 지정하세요. 없으면 관리자에게 문의.
echo.
set /p DISK="알파벳 d 또는 e 식으로 입력하세요. : "
echo.
echo.
echo 위에 선택한 경로를 재확인합니다. 맞은면 엔터!
echo ────────────────────────
goto BEFORE-SET
:BEFORE-SET
set folder="%DISK%:\###CASZONE###"
set file="%folder%\_PRINTER_INFO.txt"
echo.
echo %folder%
echo.
echo ────────────────────────
echo.
pause
md "%folder%"
echo ─────────────────────────
echo 1 PC 교체 전 - 기존 PC 설정 값 확인
echo ─────────────────────────
echo.
echo 1-1 컴퓨터 이름, 윈도우 계정명 확인
echo.
wmic computersystem get "Name", "UserName"
wmic computersystem get "Name", "UserName" > %file%
echo.
echo 1-2 기존 PC본체 시리얼넘버 확인
echo.
wmic computersystem get "Model","Manufacturer"
wmic bios get serialnumber
wmic computersystem get "Model","Manufacturer" >> %file%
wmic bios get serialnumber >> %file%
echo.
echo ─────────────────────────
echo 2 프린터 IP 및 포트 정보, 공유 설정 확인
echo ─────────────────────────
wmic printer get "Name", "PortName", "ShareName"
wmic printer get "Name", "PortName", "ShareName" >> %file%
echo.
echo.
echo ─────────────────────────
echo 3 네트워크 IP (이더넷) 정보 확인
echo ─────────────────────────
echo.
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b
set ip=%ip:~1%
echo IP address : %ip%
ipconfig /all > "%folder%\%ip%.txt"
echo.
echo.
echo.
echo ─────────────────────────
echo 4 기존 사용자 공인인증서 백업 작업
echo ─────────────────────────
echo.
echo.
echo.
echo 공인인증서 백업 대상 폴더 생성
md "%folder%\GPKI"
md "%folder%\NPKI_program\NPKI"
md "%folder%\NPKI_appdata\NPKI"
md "%folder%\Profiles\Favorites"
md "%folder%\Profiles\Sticky Notes"
md "%folder%\Profiles\SMYSoft"
md "%folder%\Profiles\Memoit"
md "%folder%\Profiles\DesktopCal"
xcopy "%systemdrive%\GPKI" "%folder%\GPKI" /e /h /k /y
xcopy "%programfiles%\NPKI" "%folder%\NPKI_program\NPKI" /e /h /k /y
xcopy "%userprofile%\AppData\LocalLow\NPKI" "%folder%\NPKI_appdata\NPKI" /e /h /k /y
xcopy "%userprofile%\Favorites" "%folder%\Profiles\Favorites" /e /h /k /y
xcopy "%userprofile%\AppData\Roaming\Microsoft\Sticky Notes" "%folder%\Profiles\Sticky Notes" /e /h /k /y
xcopy "C:\SMYSoft" "%folder%\Profiles\SMYSoft" /e /h /k /y
xcopy "%userprofile%\AppData\Local\Memoit" "%folder%\Profiles\Memoit" /e /h /k /y
xcopy "%userprofile%\AppData\Roaming\DesktopCal" "%folder%\Profiles\DesktopCal" /e /h /k /y
:: E 비어 있는 경우를 포함하여 디렉터리와 하위 디렉터리를 복사합니다.
:: H 숨겨진 파일과 시스템 파일도 복사합니다.
:: K 특성을 복사합니다. 일반적인 Xcopy는 읽기 전용 특성을 다시 설정합니다.
:: Y 기존 대상 파일을 덮어쓸지 여부를 묻지 않습니다.
md "%folder%\%DATE%\GPKI"
md "%folder%\%DATE%\NPKI_program\NPKI"
md "%folder%\%DATE%\NPKI_appdata\NPKI"
robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%systemdrive%\GPKI" "%folder%\%DATE%\GPKI"
robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%programfiles%\NPKI" "%folder%\%DATE%\NPKI_program\NPKI"
robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%userprofile%\AppData\LocalLow\NPKI" "%folder%\%DATE%\NPKI_appdata\NPKI"
echo.
echo.
copy /y "%~dp0\*CASZONE*.cmd" "%folder%"
pause
%SystemRoot%\explorer.exe /n, /e, "%folder%"
goto END
echo ========================================================================
:AFTER
c:
cd\
cls
echo.
echo.
echo ─────────────────────────
echo 1 사용자 인증서 복원
echo ─────────────────────────
echo.
cd\
cd %~dp0
if exist "%~dp0\GPKI" (
echo.
echo 인증서를 복원합니다.
echo.
echo ────────────────────────
echo.
echo %~dp0
echo.
echo %~dp0\GPKI
echo.
echo %~dp0\NPKI_program\NPKI
echo.
echo %~dp0\NPKI_appdata\NPKI
echo.
echo ────────────────────────
echo.
pause
echo.
goto AFTERYES
) else (
echo.
echo 인증서 GPKI 와 NPKI_appdata 폴더가 없습니다.
echo.
pause
echo.
goto AFTERQA
)
if end
:AFTERQA
cls
echo.
echo.
echo.
SET /p qa="백업 된 인증서가 %~dp0 폴더에 있나요? (Y/N) : "
if /i %qa%==y goto AFTERYES
if /i %qa%==n goto AFTER
goto AFTER
echo.
:AFTERYES
cls
md "%systemdrive%\GPKI"
md "%programfiles%\NPKI"
md "%userprofile%\AppData\LocalLow\NPKI"
xcopy "%~dp0\GPKI" "%systemdrive%\GPKI" /e /h /k /y
xcopy "%~dp0\NPKI_program\NPKI" "%programfiles%\NPKI" /e /h /k /y
xcopy "%~dp0\NPKI_appdata\NPKI" "%userprofile%\AppData\LocalLow\NPKI" /e /h /k /y
xcopy "%~dp0\Profiles\Favorites" "%userprofile%\Favorites" /e /h /k /y
echo.
echo 인증서 복사가 완료 되었습니다.
echo.
pause
echo.
goto NETWORK
:NETWORK
cls
echo.
echo.
echo ─────────────────────────
echo 2 새로운 PC 컴퓨터 정보 및 네트워크 IP 변경
echo ─────────────────────────
echo.
echo.
if exist "%~dp0\98.18.*.txt" (
echo.
echo 네트워크 IP 텍스트 정보가 확인 되었습니다.
echo.
pause
echo.
goto NETWORKYES
) else (
echo.
echo 네트워크 IP 텍스트 파일이 없습니다.
echo.
pause
echo.
goto NETWORKQA
)
if end
:NETWORKQA
SET /p netqa="네트워크 IP 텍스트 파일이 %~dp0 폴더에 있나요? (Y/N) : "
if /i %netqa%==y goto NETWORKYES
if /i %netqa%==n goto AFTER
goto AFTER
echo.
:NETWORKYES
cls
FOR /F "delims=" %%i IN ("%~dp0\98.18.*.txt") DO (SET filename=%%~ni)
ECHO %filename%
ECHO %filename:~0,5%
for /F "tokens=3,4 delims=. " %%a in ("%filename%") do (
set ipC=%%a
set ipD=%%b
)
echo %filename:~0,5%.%ipC%.%ipD%
echo.
goto StartConfig
:NETWORKYESPLUS
del /f /q "%TEMP%\98*.txt"
cls
echo.
echo.
set ipAB=98.18.
set /p ipCD="나머지 아이피를 입력하세요 : 98.18."
echo "%ipAB%%ipCD%" >> "%TEMP%\%ipAB%%ipCD%.txt"
FOR /F "delims=" %%i IN ("%TEMP%\98*.txt") DO (SET filename=%%~ni)
ECHO %filename%
ECHO %filename:~0,5%
for /F "tokens=3,4 delims=. " %%a in ("%filename%") do (
set ipC=%%a
set ipD=%%b
)
echo %filename:~0,5%.%ipC%.%ipD%
echo.
goto StartConfig
:StartConfig
cls
REM ------------------------------------- Computer IP Setting -----------------------------------------------
SET IPx4=%filename%
SET SUBNETMASK=255.255.255.128
SET GATEWAY=%filename:~0,5%.%ipC%.1
SET DNS1=10.1.1.5
SET DNS2=168.126.63.1
REM ---------------------------------------------------------------------------------------------------------
:NICNameSetting
echo.
ECHO 등록 할 네트워크 IP : %IPx4%
ECHO 등록 할 네트워크 GATEWAY : %GATEWAY%
echo.
echo 어댑터 리스트입니다. 연결 된 어댑터를 확인하세요.
echo ───────────────────────────────────
wmic nic where PhysicalAdapter=TRUE get NetConnectionID,ProductName
echo ───────────────────────────────────
echo.
echo 1 : 이더넷 (윈도우10 네트워트 어댑터)
echo.
echo 2 : 로컬 영역 연결 (윈도우7 네트워트 어댑터)
echo.
echo 3 : 수동으로 입력하기
echo.
echo.
SET /p NICchoice="네트워크 어댑터 선택하세요. (숫자 입력) : "
echo.
if /i %NICchoice%==1 goto Ethernet
if /i %NICchoice%==2 goto LocalNetwork
if /i %NICchoice%==3 goto NetworkNameChange
goto NICNameSetting
echo.
echo.
:Ethernet
SET NICName=이더넷
goto COMNameSetting
:LocalNetwork
SET NICName=로컬 영역 연결
goto COMNameSetting
:NetworkNameChange
cls
echo.
FOR /F "delims=" %%i IN ('wmic nic where "PhysicalAdapter=TRUE" get NetConnectionID') DO echo [네트워크 어댑터] %%i
echo.
SET /p NICName="네트워크 어댑터 확인 후 텍스트를 그대로 입력하세요. : "
echo.
goto COMNameSetting
:COMNameSetting
echo.
echo.
SET /p COMName="사용자 이름을 입력하세요 (컴퓨터 이름) : "
echo.
echo.
SET /p WorkGroup="부서(과)명을 입력하세요 (작업 그룹) : "
echo.
echo.
cls
echo.
echo.
ECHO 전체 컴퓨터 이름 : %COMName%
echo.
ECHO 작업 그룹 : %WorkGroup%
echo.
ECHO 네트워크 : %NICName%
echo.
ECHO IP : %IPx4%
echo.
ECHO SUBNETMASTK : %SUBNETMASK%
echo.
ECHO GATEWAY : %GATEWAY%
echo.
ECHO DNS1 : %DNS1%
echo.
ECHO DNS2 : %DNS2%
echo.
echo.
goto QA
echo.
:QA
echo.
echo.
SET /p qa="설정 할 네트워크 값이 정확합니까? (1.예 / 2.아니요) 숫자 입력 : "
if /i %qa%==1 goto Exec
if /i %qa%==2 goto NETWORK
goto QA
echo.
echo.
:Exec
echo.
ECHO Starting Config....
echo.
ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v Hostname /t REG_SZ /d %COMName% > nul
ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %COMName% > nul
ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d %COMName% > nul
echo.
echo.
echo.
ECHO 네트워크 IP 값 설정합니다.
echo.
netsh interface ip set address "%NICName%" static %IPx4% %SUBNETMASK% %GATEWAY% 1
echo.
ECHO 네트워크 DNS1 값 설정합니다.
echo.
netsh interface ip set dns name="%NICName%" source=static addr=%DNS1% register=PRIMARY
echo.
ECHO 네트워크 DNS2 값 설정합니다.
echo.
netsh interface ip add dns name="%NICName%" addr=%DNS2% index=2
echo.
echo.
wmic computersystem where name="%computername%" call joindomainorworkgroup name="%WorkGroup%"
echo.
echo 컴퓨터 이름이 %COMName% 으로 변경되었습니다.
echo.
echo 작업 그룹명을 %WorkGroup% 으로 변경되었습니다.
echo.
sysdm.cpl
echo.
echo.
echo 네트워크 정보를 확인하세요.
echo.
ncpa.cpl
echo.
pause
goto END
echo.
:END
exit
<코드 수정 시, 참고 동영상>
영상보기 : https://youtu.be/napQNu5vSBg