본문 바로가기

OS/Windows

Host 등록 배치

반응형

 개요

필요에 따라 윈도우 호스트에 추가해야 되는 경우가 종종 있다.
혼자 사용하거나 서버가 몇개 되지 않을 경우 직접 
C:\Windows\System32\drivers\etc\hosts
파일을 관리자 권한으로 편집하여 사용해도 되지만, 다른 사람들에게 호스트 등록 정보를 배포해야 될때는
번거로움이 있다. 
관리자 권한을 얻어 host를 수정하고, 실수로 재실행한다고 하더라도 host 파일에는 더 추가가 되지 않도록 배치 파일을 만들어 배포하면 번거로움이 줄어 들어 배치 파일을 만들어 보았다.

추가 서버 2대
1번 서버 정보 : s01.test.co.kr(10.10.10.11)
2번 서버 정보 : s02.test.co.kr(10.10.10.12)

@echo off

echo =========================== Got Admin Grant ===========================

echo got Admin 

>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"
  del "%temp%\getadmin.vbs"
  exit /B
:gotAdmin

echo =========================== Add Host ===========================

:: 사용자에게 필요한 Host 정보 모두 등록

echo Host Add

set hostip1=10.10.10.11
set hostname1=s01.test.co.kr

:: && 검색내용이 있을 경우, || 검색내용이 없을 경우
findstr /IC:%hostip1% C:\Windows\System32\drivers\etc\hosts || echo %hostip1% %hostname1% >> C:\Windows\System32\drivers\etc\hosts

set hostip2=10.10.10.12
set hostname2=s01.test.co.kr

findstr /IC:%hostip2% C:\Windows\System32\drivers\etc\hosts || echo %hostip2% %hostname2% >> C:\Windows\System32\drivers\etc\hosts

echo "설치 완료"

pause


직접 파일로 받기

add_host.bat
0.00MB


코드를 받거나 파일을 받은 뒤 적용할 서버의 정보를 수정하여 사용하면 된다.

 실행

PC 보호 알람

위 이미지와 같이 경고가 나오면 "추가정보"  를 클릭하고 실행을 눌러 준다.

사용자의 UAC  설정에 따라 다음 경고 화면이 표시된다.

사용자 계정 컨트롤 경고

"예" 를 누르고 실행한다.

호스트 등록 배치 실행 결과


 결과 확인

C:\Windows\System32\drivers\etc\hosts  파일을 열어 정상 등록되었는지 확인

host 등록 결과

추가된 서버 정보 2개가 정상적으로 추가된게 확인된다.

반응형
댓글