Windows 서버에서 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법

Windows 서버의 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법

Windows Server를 사용할 경우 기본값을 수정하세요.3389 원격 포트게다가최고 관리자 비밀번호시스템 보안을 강화하는 중요한 단계입니다. 기본 포트 3389는 원격 데스크톱 연결의 표준 포트입니다. 이 포트를 수정하면 무차별 대입 공격의 위험을 효과적으로 줄일 수 있습니다. 이 튜토리얼에서는최고 관리자 비밀번호를 안전하게 변경하세요. 이 간단한 단계를 통해 서버 보안을 한 단계 더 강화할 수 있습니다.

Windows 서버에서 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법

 

1. 원격 데스크톱 포트 3389를 수정하세요.

3389 포트를 수정하려면 레지스트리를 수정해야 합니다. 자세한 단계는 다음과 같습니다.

1.1 레지스트리 편집기를 엽니다
1. Win + R 키를 눌러 실행 창을 엽니다.
2. 입력 레지디트를 입력한 다음 Enter 키를 눌러 레지스트리 편집기를 엽니다.

1.2 원격 데스크톱 포트 설정으로 이동
레지스트리 편집기에서 다음 경로를 확장합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp

참고: 위의 두 위치를 모두 변경해야 합니다.

1.3 포트 번호 수정
1. PortNumber 필드를 찾아 두 번 클릭합니다.
2. 3389 값을 설정하려는 새 포트로 변경합니다(예: 3390).
3. 확인을 클릭하여 변경 사항을 저장합니다.

Windows 서버에서 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법

1.4 방화벽 설정 업데이트
Windows 방화벽에서 새 포트가 열려 있는지 확인하세요.
1. 제어판을 열고 시스템 및 보안 > Windows Defender 방화벽을 선택합니다.
2. 고급 설정을 클릭합니다.
3. 왼쪽에서 인바운드 규칙을 선택한 다음 새 규칙을 선택합니다.
4. 포트를 선택하고 다음을 클릭합니다.
5. TCP를 선택하고 새 포트 번호(예: 3390)를 입력한 후 다음을 클릭합니다.
6. 연결 허용을 선택하고 다음을 클릭한 다음 규칙 이름을 지정하고 설정을 완료합니다.

 

Windows 서버에서 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법Windows 서버에서 3389 원격 포트와 슈퍼 관리자 비밀번호를 수정하는 방법

 

1.5 서버를 다시 시작합니다
변경 사항을 적용하려면 Windows 서버를 다시 시작하세요.

2. 슈퍼 관리자 비밀번호 변경

슈퍼 관리자 비밀번호를 변경하는 방법은 다음과 같습니다.

2.1 컴퓨터 관리 사용
1. "컴퓨터" 또는 "이 PC"를 마우스 오른쪽 버튼으로 클릭하고 "관리"를 선택합니다.
2. 왼쪽 메뉴에서 로컬 사용자 및 그룹 > 사용자를 찾아 확장합니다.
3. "관리자" 계정을 찾아 마우스 오른쪽 버튼으로 클릭하고 "암호 설정"을 선택합니다.
4. 팝업 대화 상자에 새 비밀번호를 입력하고 확인을 클릭하세요.

2.2 명령 프롬프트 사용
명령 프롬프트를 통해 비밀번호를 변경할 수도 있습니다.
1. Win + R을 누르고 enter를 누르세요. cmd, Enter를 눌러 명령 프롬프트를 엽니다.
2. 다음 명령을 입력하고 Enter를 누릅니다.

net user 관리자 새 비밀번호

새 비밀번호를 원하는 비밀번호로 바꾸세요.

3. 설정이 성공적으로 완료되었는지 확인하세요

3.1 원격 연결 테스트
다른 컴퓨터에서 원격 데스크톱 연결(mstsc)을 열고 다음을 입력합니다. 서버 IP: 새 포트(좋다 192.168.1.100:3390), 연결이 성공하는지 테스트합니다.

3.2 관리자 비밀번호 변경 확인
관리자 계정으로 로그인하고 새 비밀번호가 제대로 작동하는지 확인하세요.

이 튜토리얼을 통해 Windows 서버의 3389 원격 데스크톱 포트와 최고 관리자 비밀번호를 성공적으로 수정했습니다. 이러한 단계를 통해 서버 보안을 강화할 뿐만 아니라 시스템 관리도 더욱 효율적으로 수행할 수 있습니다. Windows 서버 관리에 대해 더 자세히 알고 싶으시면 다음 게시물을 참고해 주세요.

IP, 방화벽, 원격 데스크톱 및 포트, 비밀번호 설정 등을 위한 Win7/2008+ 구성 스크립트입니다.

@echo off & color 0A setlocal enabledelayedexpansion mode con cols=100 lines=50 :: ****************************************************************************** :: ** 작성자: Saiwa :: ** 이메일: 93959@163.com :: ** 생성 시간: 2019-06-06 15:20 :: ** 최종 수정: 2022-12-28 13:29 :: ** 파일 이름: windows_tools.cmd :: ** 설명: Win7/2008+IP, 방화벽, 원격 데스크톱 및 포트 구성, 비밀번호 설정 등 :: ************************************************************************************* :: chcp 437 :: 활성 코드 페이지를 통해 시스템 언어를 확인하고, 중국어이면 중국어를 표시하고, 중국어가 아니면 영어를 표시합니다./f "tokens=1-2 delims= " %%a in ('chcp ^| findstr "936"') do ( set "code=%%b" ) 정의된 코드인 경우 ( goto cn ) 그렇지 않으면 goto en :cn :: 제목 title WinTools win7/2008 이상 시스템에 적용 가능 - Saiwa 작성 :: 전역 변수, DNS 설정 set dns1=8.8.8.8 set dns2=8.8.4.4 set "input_error=입력이 올바르지 않습니다. 다시 입력하세요..." set "port_error=입력이 올바르지 않습니다. 범위: 1024-65535 다시 입력하세요..." set ver=V2.6 :: 메뉴로 이동 goto menu :: ========================================================================================================================= :: 메뉴:menu cls echo. echo Windows 시스템 구성 도구[!ver!] Saiwa 제공 echo ------------------------------------------ echo 1 연속 IP 추가 echo 2 IP의 전체 세그먼트 추가 echo 3 주 IP 구성 echo 4 IP 획득 방식을 DHCP로 설정 echo 5 원격 데스크톱 포트 번호 확인 및 수정 echo 6 관리자 비밀번호 설정 echo 7 지정된 포트 번호를 허용하도록 방화벽 설정 echo 8 위험도가 높은 포트 차단 및 원격 데스크톱 활성화 echo 9 speedtest_cli 명령줄 속도 테스트 사용 echo a iperf3 명령줄 속도 테스트 사용(선택 사항 노드) echo q Enter 키를 눌러 종료 echo ------------------------------------------ echo 사용 지침: echo 1. 입력 대기 인터페이스에서 0을 입력하여 이 메뉴로 돌아갑니다 echo 2. IP 구성은 게이트웨이가 IP 세그먼트에서 마지막으로 사용 가능한 IP인 경우에만 적용됩니다: rechoice echo. 선택 설정=init 설정 /p 선택=작업을 선택하세요: "%choice%"=="0"이면 메뉴로 이동 "%choice%"=="cmd"이면 cmd echo;%choice%|findstr "^[1-9aq]$">nul || echo.&&echo !input_error!&&goto rechoice echo;%choice%|findstr "^[1-4]$">nul && "%choice%"=="5"이면 getname으로 이동 "%choice%"=="6"이면 setremoveport로 이동 "%choice%"=="7"이면 resetpass로 이동 "%choice%"=="8"이면 allowport로 이동 "%choice%"=="9"이면 secset으로 이동 "%choice%"=="a"이면 speedtest_cli로 이동 "%choice%"=="q"이면 iperf3_test로 이동 종료 :: ================================================================================================================ :: IP:getname cls echo로 구성된 네트워크 카드의 이름을 가져옵니다. set i=1 for /f "tokens=3*" %%a in ('netsh interface show interface ^| findstr "Connected"') do ( set "ethname!i!=%%b" set /a i+=1 ) set /ai=%i%-1 if defined ethname1 ( if !i! == 1 ( echo 현재 연결된 유일한 네트워크 카드는 !ethname1!입니다. set "ethname=!ethname1!" goto inputbegin ) echo 현재 연결된 네트워크 카드는 다음과 같습니다. for /l %%j in (1,1,!i!) do ( echo %%j. !ethname%%j! ) ) else echo 연결된 네트워크 카드가 없습니다. 확인해 주세요... 아무 키나 눌러 메인 메뉴로 돌아가세요&& pause >nul 2>nul & 메뉴로 이동 set nic=init set /p nic=구성할 네트워크 카드 이름을 선택하세요[1-!i!]: if "%nic%"=="0" goto menu echo;%nic%|findstr "^[1-!i!]$">nul || (cls&&echo.&&echo !input_error! && goto getname) set "ethname=!ethname%nic%!" echo.&echo 선택한 네트워크 카드는 "!ethname!"입니다. :inputbegin "%choice%"=="1"이면 inputipm으로 이동 "%choice%"=="2"이면 inputipd로 이동 "%choice%"=="3"이면 inputips로 이동 "%choice%"=="4"이면 ipbydhcp로 이동 :: ================================================================================================ :: 기본 IP를 구성합니다 :inputips echo. echo 기본 IP 입력 형식 예: 108.186.1.1/27 set "ips=init" set /p ips=구성하려는 IP를 입력하세요: if %ips% == 0 goto menu for /f "tokens=1-5* delims=./ " %%a in ("!ips!") do ( set x1=%%a set x2=%%b set x3=%%c set x4=%%d set x5=%%e ) for %%i in (!x1! !x2! !x3! !x4! !x5!) do ( set /a %%i 2>nul || (echo !input_error! & goto inputips) ) if !x1!geq 1 if !x1!leq 255 if !x2!geq 0 if !x2!leq 255 ^ if !x3!geq 0 if !x3!leq 255 if !x4!geq 0 if !x4!leq 255 ^ if! !input_error! & goto inputips :inputok if !x5! == 29 ( set x6=248 set /an=!x4!/8 set /am=!n!*8 set /a x7=!m!+6 ) if! 27 ( set x6=224 set /an=!x4!/32 set /am=!n!*32 set /a x7=!m!+30 ) if !x5! == 26 ( x6=192 설정 /an=!x4!/64 설정 /am=!n!*64 설정 /a x7=!m!+62 설정 ) !x5!가 == 25인 경우 ( x6=128 설정 /an=!x4!/128 설정 /am=!n!*128 설정 /a x7=!m!+126 설정 ) !x5!가 == 24인 경우 ( x6=0 설정 m=0 설정 x7=254 설정 ) !x4!가 leq !m!인 경우 !input_error! echo && inputips로 이동 !x4!가 geq !x7!인 경우 !input_error! echo && inputips로 이동 addr=!x1!.!x2!.!x3!.!x4! 설정 netmask=255.255.255.!x6! set gateway=!x1!.!x2!.!x3!.!x7! echo. echo 구성하려는 IP 정보는 다음과 같습니다. echo 서버 IP: !addr! !dns2! echo. set tip=init set /p tip=확인 후 Enter 키를 눌러 구성을 시작하세요... if "%tip%"=="0" goto menu echo 기본 IP 구성... netsh interface ip set address name="!ethname!" source=static addr=!addr!mask=!netmask!gateway=!gateway! 1 netsh interface ip set dns name="!ethname!" source=static addr=!dns1! >/nul netsh interface ip add dns "!ethname!" addr=!dns2!index=2 >/nul ping 127.1 -n 5 >nul echo 기본 IP 구성이 완료되었습니다 echo. ping baidu.com ::echo. ::ping baidu.com >nul && (에코로 바이두에 PING 가능!!) || (에코로 바이두에 PING 불가능!!) :configmore echo. set next=init set /p next=1. 연속 IP 추가, 2. 전체 IP 범위 추가, 나머지는 메뉴로 돌아갑니다. if "%next%"=="0" 메뉴로 이동 if !next! == 1 입력으로 이동 if !next! == 2 goto inputipd goto menu :: ============================================================================================================== :: 연속 IP 추가 :inputipm echo. echo 예를 들어, 구성은 다음과 같습니다. 108.186.1.1/27-108.186.1.10/27 echo 그런 다음 다음을 입력하십시오. 108.186.1.1-10/27 echo. set ipm=init set /p ipm=구성하려는 연속 IP를 입력하십시오. if "%ipm%" == "0" goto menu echo. /f "토큰=1-6* 구분 기호=./- " %%a에 대해 ("!ipm!")을 실행합니다. ( x1=%%a를 설정합니다. x2=%%b를 설정합니다. x3=%%c를 설정합니다. x4=%%d를 설정합니다. x5=%%e를 설정합니다. x6=%%f를 설정합니다. %%i에 대해 (!x1! !x2! !x3! !x4! !x5!)를 실행합니다. ( echo;%%i|findstr "^[0-9]$">nul || echo;%%i|findstr "^[1-9][0-9]$">nul || ^ echo;%%i|findstr "^[1][0-9][0-9]$">nul || echo;%%i|findstr "^[2][0-4][0-9]$">nul || ^ echo;%%i|findstr "^[2][5][0-5]$">nul || echo !input_error! && goto inputipm ) echo;!x6!|findstr "^[2][4-9]$">nul || echo !input_error! && goto inputipm if !x6! == 29 ( set x6=248 set /an=!x4!/8 set /am=!n!*8 set /a x7=!m!+6 ) if !x6! == 28 ( set x6=240 set /an=!x4!/16 set /am=!n!*16 set /a x7=!m!+14 ) if !x6! == 27 ( set x6=224 set /an=!x4!/32 set /am=!n!*32 set /a x7=!m!+30 ) if !x6! == 26 ( set x6=192 set /an=!x4!/64 set /am=!n!*64 set /a x7=!m!+62 ) if !x6! == 25 ( set x6=128 set /an=!x4!/128 set /am=!n!*128 set /a x7=!m!+126 ) if !x6! == 24 ( set x6=0 set m=0 set x7=254 ) if !x4! leq !m! (echo !input_error! & goto inputipm) if !x4! geq !x7! (echo !input_error! & goto inputipm) if !x5! lss !x4! (echo !input_error! & goto inputipm) if !x5! geq !x7! (echo !input_error! & goto inputipm) ) :start_configure set start_ip=!x1!.!x2!.!x3!.!x4! set end_ip=!x1!.!x2!.!x3!.!x5! set netmask=255.255.255.!x6! set gateway=!x1!.!x2!.!x3!.!x7! echo. echo 구성하려는 IP 정보는 다음과 같습니다. echo 시작 IP: !start_ip! echo 종료 IP: !end_ip! echo 게이트웨이 IP: !gateway! echo 서브넷 마스크: !netmask! set net=!x1!.!x2!.!x3! echo. set tip=init set /p tip=확인 후 구성을 시작하려면 Enter 키를 누르세요... if "%tip%"=="0" goto menu echo. for /l %%i in (!x4!,1,!x5!) do netsh interface ip add address "!ethname!" !net!.%%i !netmask! >nul && (echo !net!.%%i가 "!ethname!"에 추가되었습니다.) netsh interface ip add address "!ethname!" gateway=!gateway! gwmetric=2 >/nul netsh interface ip set dns name="!ethname!" source=static addr=!dns1! >/nul netsh interface ip add dns "!ethname!" addr=!dns2! index=2 >/nul echo. ping baidu.com >nul && (echo는 Baidu를 통해 PING할 수 있습니다!!) || (echo는 Baidu를 통해 PING할 수 없습니다!!) goto configmore :: ================================================================================================================= :: 전체 IP 세그먼트 추가 :inputipd echo. echo는 /24,/25,/26,/27,/28,/29 전체 IP 세그먼트 구성만 지원합니다 echo 전체 IP 세그먼트 형식 입력 예: 108.186.1.0/24 echo. set ipd=init set /p ipd=구성하려는 IP 세그먼트를 입력하세요: if "%ipd%" == "0" goto menu for /f "tokens=1-5* delims=./ " %%a in ("!ipd!") do ( set x1=%%a set x2=%%b set x3=%%c set x4=%%d set x6=%%e for %%i in (!x1! !x2! !x3! !x4!) do ( echo;%%i|findstr "^[0-9]$">nul || echo;%%i|findstr "^[1-9][0-9]$">nul || ^ echo;%%i|findstr "^[1][0-9][0-9]$">nul || echo;%%i|findstr "^[2][0-4][0-9]$">nul || ^ echo;%%i|findstr "^[2][5][0-5]$">nul || 에코!입력_오류! && inputipd로 이동 ) echo;!x6!|findstr "^[2][4-9]$">nul || 에코!입력_오류! && !x6인 경우 inputipd로 이동! == 29 ( set /an=!x4! %% 8 if !n!neq 0 echo !input_error! && goto inputipd set /a x4=!x4!+1 set /a x5=!x4!+4 세트 /a x7=x5+1 세트 x6=248) if! 27 ( 세트 /an=!x4! %% 32 if !n! neq 0 echo !input_error! && goto inputipd 세트 /a x4=!x4!+1 세트 /a x5=!x4!+28 세트 /a x7=x5+1 세트 x6=224) if !x6! == 26 ( 세트 /an=!x4! %% 64 if !n!neq 0 echo !input_error! && goto inputipd 세트 /a x4=!x4!+1 세트 /a x5=!x4!+60 세트 /a x7=x5+1 세트 x6=192) if !x6! == 25 ( 세트 /an=!x4! %% 128 if !n!neq 0 echo !input_error! && goto inputipd set /a x4=!x4!+1 set /a x5=!x4!+124 set /a x7=x5+1 set x6=128) if! x6! == 24 ( if !x4!neq 0 echo !input_error! && goto inputipd set /a x4=!x4!+1 set /a x5=!x4!+252 set /a x6=0) ) goto start_configure :: =================================================================================================== :: 네트워크 카드가 DHCP를 통해 IP를 얻도록 설정합니다. :ipbydhcp netsh interface ip set address name="!ethname!" source=DHCP >nul 2>nul netsh interface ip set dns name="!ethname!" source=DHCP >nul 2>nul echo.&echo !ethname! DHCP를 통해 IP를 얻도록 설정되었습니다. 아무 키나 눌러 메인 메뉴로 돌아가세요&& pause >nul 2>nul & goto menu :: ============================================================================================================ :: 관리자 비밀번호를 설정합니다: resetpass cls echo. echo 관리자 사용자인 administrator의 비밀번호를 설정합니다: inputpwd echo.set "var1=이 스크립트는 ^!^#^^^&^|^"^를 지원하지 않습니다<^> 이 문자들! " set "var2=위의 문자들이 포함되어 있다면, 사용자 비밀번호는 유효하지 않습니다! " echo !var1! echo !var2! echo !var2! echo !var2! echo. set "chars=^^! ^^# ^^ ^^& ^^| ^^" ^< ^>" set pwd=0 set /p "pwd=설정할 비밀번호를 입력하세요: " if %pwd% == 0 goto menu for %%i in (!chars!) do set pwd=!pwd:^%%i=! echo. net user administrator %pwd% >nul 2>nul && (echo 비밀번호 설정 성공) || (echo 비밀번호가 비밀번호 정책 요구 사항을 충족하지 않습니다. 다시 입력하세요... && goto inputpwd ) echo. echo 아무 키나 눌러 메인 메뉴로 돌아가세요&& pause >nul 2>nul & goto menu :: ===================================================================================================== :: 원격 데스크톱 포트 번호를 수정합니다: setremoveport cls echo.set n=1 for /f "tokens=1-3 delims= " %%i in ('tasklist /svc ^| findstr "TermService"') do (set pid=%%j set /a n+=1 ) set /an=!n!-1 if !n! == 1 ( for /f "tokens=1-3 delims=: " %%a in ('netstat -p tcp -ano ^| findstr ="!pid!"') do (set "removeport=%%c") echo. echo 시스템의 현재 원격 포트 번호는 !removeport!입니다. ) else echo 원격 데스크톱 서비스가 활성화되어 있지 않습니다. 아무 키나 눌러 주 메뉴로 돌아가세요&& pause >nul 2>nul && goto menu echo. echo 원격 데스크톱 포트 번호 범위: 1024-65535 다른 포트와 충돌할 수 없습니다: resetremoveport echo. set port=init set /p port=설정할 포트 번호를 입력하세요: if %port% == 0 goto menu echo. set /a %port% 2>nul || (echo !port_error! & goto resetremoveport) if !port! geq 1024 if !port! leq 65535 goto portok echo !port_error! & goto resetremoveport :portok netsh advfirewall 방화벽 규칙 이름 삭제="%port% 허용" >nul 2>nul netsh advfirewall 방화벽 규칙 추가="%port% 허용" 프로토콜=TCP 디렉터리=in 로컬포트=%port% 동작=허용 >nul && (echo 방화벽이 %port% 포트를 허용합니다) echo 원격 포트 번호를 설정합니다... reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v 포트 번호 /t reg_dword /d %port% /f >nul reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v 포트 번호 /t reg_dword /d %port% /f >nul ping 127.1 -n 2 >nul echo 원격 포트 번호 설정이 완료되었습니다 echo 원격 데스크톱 서비스를 다시 시작합니다... net stop UmRdpService >nul 2>nul net stop TermService >nul 2>nul ping 127.1 -n 5 >nul 2>nul net start TermService >nul 2>nul ping 127.1 -n 2 >nul echo 원격 데스크톱 서비스 다시 시작이 완료되었습니다 echo. echo 아무 키나 눌러 메인 메뉴로 돌아가세요&& pause >nul 2>nul & 메뉴로 이동 :: ===================================================================================================== :: 방화벽에서 지정된 포트 번호를 허용합니다: allowport cls echo. set port=init set /p port=허용할 포트 번호를 입력하세요: if %port% == 0 goto menu set /a %port% 2>nul || (echo !port_error! & goto allowport) echo. if !port! geq 1024 if !port! leq 65535 goto portok2 echo !port_error! & goto allowport :portok2 netsh advfirewall 방화벽 삭제 규칙 이름="%port% 허용" >nul 2>nul netsh advfirewall 방화벽 추가 규칙 이름="%port% 허용" protocol=TCP dir=in localport=%port% action=allow >nul && (echo 방화벽은 %port% 포트를 허용합니다) echo. echo 아무 키나 눌러서 메인 메뉴로 돌아가세요&& pause >nul 2>nul & goto menu :: =================================================================================================== :: 방화벽을 구성하고 원격 데스크톱을 활성화합니다.secset cls echo.set tip=init echo 방화벽이 TCP 및 UDP 포트 135\137\138\139\445를 차단하도록 설정합니다.set /p tip=PING 허용, 원격 데스크톱 활성화, Enter 키를 눌러 구성 시작 확인... if %tip% == 0 goto menu echo 방화벽 구성, PING 허용, 원격 활성화:: 모든 인바운드 규칙 비활성화 netsh advfirewall firewall set rule name=all dir=in new enable=no >nul 2>nul :: TCP 및 UDP 연결을 차단하는 포트 추가(135\137\138\139\445) netsh advfirewall 방화벽 규칙 이름 삭제="거부 tcp 135" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 tcp 135" 프로토콜=TCP 디렉토리=in localport=135 동작=차단 >nul && (echo 거부 tcp 135) netsh advfirewall 방화벽 규칙 이름 삭제="거부 udp 135" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 udp 135" 프로토콜=UDP 디렉토리=in localport=135 동작=차단 >nul && (echo 거부 udp 135) netsh advfirewall 방화벽 규칙 이름 삭제="거부 tcp 137" >nul 2>nul netsh advfirewall 방화벽 규칙 추가 name="DENY tcp 137" protocol=TCP dir=in localport=137 action=block >nul && (echo DENY tcp 137) netsh advfirewall 방화벽 규칙 삭제 name="DENY udp 137" >nul 2>nul netsh advfirewall 방화벽 규칙 추가 name="DENY udp 137" protocol=UDP dir=in localport=137 action=block >nul && (echo DENY udp 137) netsh advfirewall 방화벽 규칙 삭제 name="DENY tcp 138" >nul 2>nul netsh advfirewall 방화벽 규칙 추가 name="DENY tcp 138" protocol=TCP dir=in localport=138 action=block >nul && (echo DENY tcp 138) netsh advfirewall 방화벽 규칙 삭제 name="DENY udp 138" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 udp 138" 프로토콜=UDP 디렉터리=in localport=138 작업=차단 >nul && (echo 거부 udp 138) netsh advfirewall 방화벽 규칙 이름 삭제="거부 tcp 139" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 tcp 139" 프로토콜=TCP 디렉터리=in localport=139 작업=차단 >nul && (echo 거부 tcp 139) netsh advfirewall 방화벽 규칙 이름 삭제="거부 udp 139" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 udp 139" 프로토콜=UDP 디렉터리=in localport=139 작업=차단 >nul && (echo 거부 udp 139) netsh advfirewall 방화벽 규칙 이름 삭제="거부 tcp 445" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="TCP 445 거부" 프로토콜=TCP 디렉토리=in localport=445 동작=차단 >nul && (echo tcp 445 거부) netsh advfirewall 방화벽 규칙 이름 삭제="UDP 445 거부" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="UDP 445 거부" 프로토콜=UDP 디렉토리=in localport=445 동작=차단 >nul && (echo udp 445 거부) :: PING 허용 netsh advfirewall 방화벽 규칙 이름 설정="파일 및 프린터 공유(에코 요청 - ICMPv4-In)" 디렉토리=in new enable=yes >nul && (PING 허용) netsh advfirewall 방화벽 규칙 이름 설정="파일 및 프린터 공유(에코 요청 - ICMPv6-In)" 디렉토리=in new enable=yes >nul 2>nul :: 원격 데스크톱 사용reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f >nul && (echo 원격 데스크톱 사용) :: 방화벽에서 원격 연결 허용netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱(TCP-In)" dir=in new enable=yes >nul && (echo 방화벽에서 원격 데스크톱 허용) || ^ netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱- 사용자 모드(TCP-In)" dir=in new enable=yes >nul && (echo 방화벽에서 원격 데스크톱 허용) netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱- 사용자 모드(UDP-In)" dir=in new enable=yes >nul 2>nul netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱- 원격 모니터링(TCP-In)" dir=in new enable=yes >nul 2>nul netsh advfirewall 방화벽 설정 규칙 이름="원격 데스크톱 - RemoteFX(TCP-In)" dir=in new enable=yes >nul 2>nul :: 원격 데스크톱 보안 인증 0은 모든 연결을 허용하고, 1은 보안 연결만 허용합니다. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "UserAuthentication" /t REG_DWORD /d "0" /f >nul 2>nul :: 디스크 자체 테스트 끄기 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v BootExecute /t reg_multi_sz /d "" /f >nul 2>nul :: 예기치 않은 재부팅을 복구 모드로 끄기 bcdedit /set {기본값} bootstatuspolicy ignoreallfailures >nul 2>nul bcdedit /set {현재} 복구 활성화 안 함 >nul 2>nul :: time.windows.com과 동기화 sc config w32time 시작 = 자동 >nul 2>nul net stop w32time >nul 2>nul net start w32time >nul 2>nul net time \\127.0.0.1 >nul 2>nul reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config" /v MaxNegPhaseCorrection /t REG_DWORD /d "0xFFFFFFFF" /f >nul 2>nul reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config" /v MaxPosPhaseCorrection /t REG_DWORD /d "0xFFFFFFFF" /f >nul 2>nul :: time.windows.com과 동기화 sc config w32time 시작 = 자동 > nul 2> nul net stop w32time > nul 2> nul net start w32time > nul 2> nul net time \\127.0.0.1 /setsntp:time.windows.com > nul 2> nul w32tm /config /manualpeerlist:time.windows.com,0x8 /syncfromflags:MANUAL > nul 2> nul w32tm /resync > nul 2> nul :: IE 끄기 ESC 끄려면 yes 끄려면 no 켭니다 reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "브라우저 확장 프로그램 사용" /d "yes" /t REG_SZ /f > nul 2> nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Play_Animations" /d "yes" /t REG_SZ /f >nul 2>nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Play_Background_Sounds" /d "yes" /t REG_SZ /f >nul 2>nul :: 방화벽 켜기 netsh advfirewall set allprofiles state on >nul 2>nul && (echo 방화벽이 켜져 있음) echo. echo 설정이 완료되었습니다. 아무 키나 눌러 주 메뉴로 돌아가세요.&& pause >nul 2>nul & 메뉴로 이동 :speedtest_cli set speedtestfile=C:\Windows\System32\speedtest.exe (존재하지 않으면 !speedtestfile! ( powershell Invoke-WebRequest -Uri "http://198.200.51.51/speedtest.exe" -OutFile "C:\Windows\System32\speedtest.exe" speedtest.exe --accept-license 2>null ) else ( speedtest.exe --accept-license 2>null ) echo. echo 메인 메뉴로 돌아가려면 아무 키나 누르세요&& pause >nul 2>nul & goto menu :iperf3_test cls set "SV2_SERVER=142.4.97.233" set "SV6_SERVER=107.148.199.113" set "LA2_SERVER=107.148.135.25" set iperf3file=C:\Windows\System32\iperf3.exe if not exist !iperf3file! ( echo.&&echo iperf3 다운로드 중... powershell Invoke-WebRequest -Uri "http://198.200.51.51/iperf3/cygwin1.dll" -OutFile "C:\Windows\System32\cygwin1.dll" powershell Invoke-WebRequest -Uri "http://198.200.51.51/iperf3/iperf3.exe" -OutFile "C:\Windows\System32\iperf3.exe" ) else ( echo.&&echo iperf3가 다운로드되었습니다... ) :choice_SERVER echo 선택 사항 iperf3 속도 테스트 노드 echo 1 SV2 echo 2 SV6 echo 3 LA2 set choice=init set /p choice=속도 테스트 노드 ID를 선택하세요 [1-3]: if "%choice%"=="0" goto menu if "%choice%"=="cmd" cmd if "%choice%"=="1" ( echo.&&echo 로컬 컴퓨터에서 SV2 노드로의 업로드 대역폭을 테스트합니다... iperf3 -c !SV2_SERVER! echo.&&echo 로컬 컴퓨터에서 SV2 노드로의 다운로드 대역폭을 테스트합니다... iperf3 -c !SV2_SERVER! -R echo 메인 메뉴로 돌아가려면 아무 키나 누르세요&& pause >nul 2>nul & goto menu) if "%choice%"=="2" ( echo.&&echo 로컬 컴퓨터에서 SV6 노드로의 업로드 대역폭을 테스트합니다... iperf3 -c !SV6_SERVER! echo.&&echo 이 컴퓨터에서 SV6 노드로의 다운로드 대역폭을 테스트합니다... iperf3 -c !SV6_SERVER! -R echo 메인 메뉴로 돌아가려면 아무 키나 누르세요&& pause >nul 2>nul & goto menu) if "%choice%"=="3" ( echo.&&echo 이 컴퓨터에서 LA2 노드로의 업로드 대역폭을 테스트합니다... iperf3 -c !LA2_SERVER! echo.&&echo 이 컴퓨터에서 LA2 노드로의 다운로드 대역폭을 테스트합니다... iperf3 -c !LA2_SERVER! -R echo 아무 키나 누르세요 키로 메인 메뉴로 돌아가세요&& 일시 정지 >nul 2>nul & 메뉴로 이동) echo !input_error! && choice_SERVER로 이동 :: ########################### ###################### ############################## :en :: 제목 제목 WinTools win7/2008+ 시스템에 적용 가능 --작성자: Shihua :: 전역 변수, DNS 설정 dns1=8.8.8.8 설정 dns2=8.8.4.4 설정 "input_error=입력 오류, 다시 입력하세요..." set "port_error=입력 오류, 범위: 1024-65535 다시 입력하세요..." set ver=2.6 :: init goto menu_en :: =================================================================================================== :: menu_en :menu_en cls echo. echo Windows 시스템 도구 [!ver!] --By Saiwa echo --------------------------------------------------------- echo 1 연속 IP 구성 echo 2 서브넷 IP 구성 echo 3 man IP 구성 echo 4 DHCP로 IP 가져오기 설정 echo 5 RDP 포트 표시&설정 echo 6 관리자의 비밀번호 설정 echo 7 방화벽에서 포트 허용 설정 echo 8 RDP 활성화 안전하지 않은 포트를 닫습니다. echo 9 speedtest_cli를 다운로드하고 실행합니다. echo a iperf3_cli를 다운로드하고 실행합니다. echo q 종료 echo -------------------------------------------------------- echo 지침: echo 1. 입력을 기다리는 경우 "0"을 입력하여 메뉴를 반환합니다. echo 2. 모든 IP 구성은 게이트웨이가 서브넷의 마지막 사용 가능한 IP인 경우에만 적용됩니다. echo :rechoice_en echo. set choice=init set /p choice=Pls input: if "%choice%"=="0" goto menu_en if "%choice%"=="cmd" cmd echo;%choice%|findstr "^[1-9aq]$">nul || echo.&&echo !input_error!&&goto rechoice_en echo;%choice%|findstr "^[1-4]$">nul && goto getname_en if "%choice%"=="5" "%choice%"=="6"이면 setremoveport_en으로 이동 "%choice%"=="7"이면 resetpass_en으로 이동 "%choice%"=="8"이면 allowport_en으로 이동 "%choice%"=="9"이면 secset_en으로 이동 "%choice%"=="a"이면 speedtest_cli_en으로 이동 "%choice%"=="q"이면 iperf3_en으로 이동 종료 :: ============================================================================================= :: 연결된 NIC 가져오기 :getname_en cls echo. set i=1 for /f "tokens=3*" %%a in ('netsh interface show interface ^| findstr "Connected"') do ( set "ethname!i!=%%b" set /a i+=1 ) set /ai=%i%-1 if defined ethname1 ( if !i! == 1 ( echo 연결된 NIC만: !ethname1! set "ethname=!ethname1!" goto inputbegin_en ) echo The 연결된 NIC는 다음과 같습니다. for /l %%j in (1,1,!i!) do ( echo %%j. !ethname%%j! ) ) else echo 사용 가능한 NIC가 없습니다... 아무 키나 눌러 메뉴로 돌아가세요. && pause >nul 2>nul & goto menu_en set nic=init set /p nic=Pls select NIC [1-!i!]: if "%nic%"=="0" goto menu_en echo;%nic%|findstr "^[1-!i!]$">nul || (cls&&echo.&&echo !input_error! && goto getname_en) set "ethname=!ethname%nic%!" echo.&echo IP가 "!ethname!"에 구성됩니다. :inputbegin_en if "%choice%"=="1" "%choice%"=="2"이면 inputipm_en으로 이동 "%choice%"=="3"이면 inputipd_en으로 이동 "%choice%"=="4"이면 inputips_en으로 이동 ipbydhcp_en으로 이동 :: ============================================================================================ :: man IP 설정 :inputips_en echo. echo Man IP 예: 108.186.1.1/27 set "ips=init" set /p ips=Pls input man IP: %ips% == 0이면 menu_en으로 이동하여 /f "tokens=1-5* delims=./ " %%a in ("!ips!") do ( x1=%%a로 설정 x2=%%b로 설정 x3=%%c로 설정 x4=%%d로 설정 x5=%%e) %%i in (!x1! !x2! !x3! !x4! !x5!)로 설정 do ( /a %%i로 설정 2>nul || (echo !input_error! & goto inputips_en) ) !x1!이 1이면 !x1!이 255이면 !x2!이 0이면 !x2!이 255 ^ if !x3! geq 0 if !x3! leq 255 if !x4! geq 0 if !x4! leq 255 ^ if !x5! geq 24 if !x5! leq 29 goto inputok_en cls echo.echo !input_error! == 29 ( set x6=248 set /an=!x4!/8 set /am=!n!*8 set /a x7=!m!+6 ) if !x5! == 28 ( set x6=240 set /an=!x4!/16 set /am=!n!*16 set /a x7=!m!+14 ) if !x5! == 27 ( set x6=224 set /an=!x4!/32 set /am=!n!*32 set /a x7=!m!+30 ) if !x5! == 26 ( set x6=192 set /an=!x4!/64 set /am=!n!*64 set /a x7=!m!+62 ) if !x5! == 25 ( set x6=128 set /an=!x4!/128 set /am=!n!*128 set /a x7=!m!+126 ) if !x5! == 24 ( set x6=0 set m=0 set x7=254 ) if !x4! leq !m! echo !input_error! && goto inputips_en if !x4! geq !x7! echo !input_error! && goto inputips_en set addr=!x1!.!x2!.!x3!.!x4! set netmask=255.255.255.!x6! set gateway=!x1!.!x2!.!x3!.!x7! echo. echo IP 정보는 다음과 같습니다. echo. echo Man IP: !addr! echo NetMask: !netmask! echo Gateway: !gateway! echo DNS1: !dns1! echo DNS2: !dns2! echo. set tip=init set /p tip=확인 후 Enter를 누르세요... if "%tip%"=="0" goto menu_en echo man IP 구성... netsh interface ip set address name="!ethname!" source=static addr=!addr!mask=!netmask!gateway=!gateway! 1 netsh interface ip set dns name="!ethname!" source=static addr=!dns1! >/nul netsh interface ip add dns "!ethname!" addr=!dns2! index=2 >/nul ping 127.1 -n 5 >nul echo 구성 완료 echo. ping www.baidu.com ::echo. ::ping www.baidu.com >nul && (echo 네트워크 정상입니다.) || (echo 네트워크 이상입니다.) :configmore_en echo. set next=init set /p next=1. 연속 IP 구성; 2. 서브넷 IP 구성; 그렇지 않으면 메뉴 반환: if "%next%"=="0"이면 menu_en으로 이동 if !next! == 1이면 inputipm_en으로 이동 if !next! == 2이면 inputipd_en으로 이동 :: ============================================================================================ :: 연속 IP 구성 :inputipm_en echo. echo 예: 108.186.1.1/27-108.186.1.10/27 echo 다음을 입력하세요: 108.186.1.1-10/27 echo. set ipm=init set /p ipm=연속 IP를 입력하세요: if "%ipm%" == "0" goto menu_en echo. for /f "tokens=1-6* delims=./- " %%a in ("!ipm!") do ( set x1=%%a 세트 x2=%%b 세트 x3=%%c 세트 x4=%%d 세트 x5=%%e 세트 x6=%%f for %%i in (!x1! !x2! !x3! !x4! !x5!) do ( echo;%%i|findstr "^[0-9]$">nul || echo;%%i|findstr "^[1-9][0-9]$">nul || ^ echo;%%i|findstr "^[1][0-9][0-9]$">nul || echo;%%i|findstr "^[2][0-4][0-9]$">nul || ^ echo;%%i|findstr "^[2][5][0-5]$">nul || echo !input_error! && goto inputipm_en ) echo;!x6!|findstr "^[2][4-9]$">nul || echo !input_error! && goto inputipm_en if !x6! == 29 ( set x6=248 set /an=!x4!/8 set /am=!n!*8 set /a x7=!m!+6 ) if! 27 ( set x6=224 set /an=!x4!/32 set /am=!n!*32 set /a x7=!m!+30 ) if !x6! == 26 ( set x6=192 set /an=!x4!/64 설정 /am=!n!*64 설정 /a x7=!m!+62 ) !x6! == 25이면 ( x6=128 설정 /an=!x4!/128 설정 /am=!n!*128 설정 /a x7=!m!+126 ) !x6! == 24이면 ( x6=0 설정 m=0 설정 x7=254 ) !x4!가 leq !m!이면 ( echo !input_error! & goto inputipm_en) !x4!가 geq!이면 !x5!가 lss !x4!이면 ( echo !input_error! & goto inputipm_en) !x5!가 geq !x7!이면 ( echo !input_error! & goto inputipm_en) ) :start_configure_en 설정 start_ip=!x1!.!x2!.!x3!.!x4! set end_ip=!x1!.!x2!.!x3!.!x5! set netmask=255.255.255.!x6! set gateway=!x1!.!x2!.!x3!.!x7! echo. echo 연속적인 IP 정보는 다음과 같습니다. echo. echo 시작 IP: !start_ip! echo 종료 IP: !end_ip! echo 게이트웨이: !gateway! echo 넷마스크: !netmask! set net=!x1!.!x2!.!x3! echo. set tip=init set /p tip=확인 후 Enter를 누르세요... if "%tip%"=="0" goto menu_en echo. for /l %%i in (!x4!,1,!x5!) do netsh interface ip add address "!ethname!" !net!.%%i !netmask! >nul && (echo !net!.%%i가 "!ethname!"을 추가했습니다.) netsh interface ip add address "!ethname!" gateway=!gateway! gwmetric=2 >/nul netsh interface ip set dns name="!ethname!" source=static addr=!dns1! >/nul netsh interface ip add dns "!ethname!" addr=!dns2! index=2 >/nul echo. ping www.baidu.com >nul && (echo 네트워크는 정상입니다.) || (echo 네트워크는 불량입니다.) goto configmore_en :: ========================================================= ipd=init set /p ipd=서브넷 IP를 입력하세요: "%ipd%" == "0"이면 menu_en으로 이동하여 /f "tokens=1-5* delims=./ " %%a in ("!ipd!")를 실행하세요. do ( set x1=%%a set x2=%%b set x3=%%c set x4=%%d set x6=%%e for %%i in (!x1! !x2! !x3! !x4!)를 실행하세요. do ( echo;%%i|findstr "^[0-9]$">nul || echo;%%i|findstr "^[1-9][0-9]$">nul || ^ echo;%%i|findstr "^[1][0-9][0-9]$">nul || echo;%%i|findstr "^[2][0-4][0-9]$">nul || ^ echo;%%i|findstr "^[2][5][0-5]$">nul || 에코!입력_오류! && inputipd_en으로 이동 ) echo;!x6!|findstr "^[2][4-9]$">nul || 에코!입력_오류! && !x6인 경우 inputipd_en으로 이동하세요! == 29 ( set /an=!x4! %% 8 if !n!neq 0 echo !input_error! && goto inputipd_en set /a x4=!x4!+1 set /a x5=!x4!+4 세트 /a x7=x5+1 세트 x6=248) if! 16 if !n!neq 0 echo !input_error! && goto inputipd_en 세트 /a x4=!x4!+1 세트 /a x5=!x4!+12 세트 /a x7=x5+1 세트 x6=240) if !x6! == 27 ( 세트 /an=!x4! %% 32 if !n!neq 0 echo !input_error! && goto inputipd_en 세트 /a x4=!x4!+1 세트 /a x5=!x4!+28 세트 /a x7=x5+1 세트 x6=224) if! x6! == 26 ( set /an=!x4! %% 64 if !n! neq 0 echo !input_error! && goto inputipd_en set /a x5=!x4!+60 set /a x7=x5+1 set x6=192) if! x6! == 25 ( set /an=! !x6! == 24 ( if !x4! neq 0 echo !input_error! && goto inputipd_en set /a x4=!x4!+1 set /a x5=!x4!+252 set /a x7=x5+1 set x6=0) ) goto start_configure_en :: ======================================================================================= :: DHCP로 IP를 가져오도록 설정 :ipbydhcp_en netsh interface ip set address name="!ethname!" source=DHCP >nul 2>nul netsh interface ip set dns name="!ethname!" source=DHCP >nul 2>nul echo.&echo !ethname! DHCP에 대한 IP 주소를 가져오도록 설정하고, 아무 키나 눌러 메뉴로 돌아가기 && pause >nul 2>nul & menu_en으로 이동 :: ========================================================================================== :: 관리자 비밀번호 설정 :resetpass_en cls echo. echo 이제 관리자 비밀번호 재설정 :inputpwd_en echo. set "var1=^!^#^^^&^|^를 지원하지 않습니다"^<^> 문자!" "var2=위의 문자가 사용자 비밀번호를 무효화할 수 있습니다."를 설정합니다. echo !var1! echo !var2! echo !var2! echo !var2! echo. "chars=^^! ^^# ^^ ^^& ^^| ^^" ^< ^>" set pwd=0 set /p "pwd=새로운 비밀번호를 입력하세요: " if %pwd% == 0 goto menu_en for %%i in (!chars!) do set pwd=!pwd:^%%i=! echo. net user administrator %pwd% >nul 2>nul && (echo 비밀번호 설정 완료) || (echo 비밀번호가 요구 사항을 충족하지 않습니다. 다시 입력하세요... && goto inputpwd_en ) echo. echo 아무 키나 누르세요 return menu && pause >nul 2>nul & goto menu_en :: ======================================================================================= "TermService"') do ( set pid=%%j set /a n+=1 ) set /an=!n!-1 if !n! == 1 ( for /f "tokens=1-3 delims=: " %%a in ('netstat -p tcp -ano ^| findstr "!pid!"') do (set "removeport=%%c") echo. echo 이제 RDP 포트는 !removeport! 입니다. ) else echo RDP 서비스가 활성화되지 않았습니다. 아무 키나 누르세요. 메뉴로 돌아가기 && 일시 정지 >nul 2>nul && menu_en으로 이동 echo. echo RDP 포트 번호 범위: 1024-65535; 다른 포트와 충돌할 수 없습니다. :resetremoveport_en echo. set port=init set /p port=새 포트를 입력하세요: %port% == 0이면 menu_en으로 이동 echo. set /a %port% 2>nul || (echo !port_error! & goto resetremoveport_en) if !port! geq 1024 if !port! leq 65535 goto portok_en echo !port_error! & goto resetremoveport_en :portok_en netsh advfirewall 방화벽 규칙 이름 삭제="%port% 허용" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="%port% 허용" 프로토콜=TCP 디렉토리=in 로컬포트=%port% 동작=허용 >nul && (echo 방화벽 %port% 포트 허용) echo RDP 포트 구성 중... reg add "HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp" /v 포트 번호 /t reg_dword /d %port% /f >nul reg add "HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp" /v PortNumber /t reg_dword /d %port% /f >nul ping 127.1 -n 2 >nul echo 구성 완료 echo RDP 서비스 재시작... net stop UmRdpService >nul 2>nul net stop TermService >nul 2>nul ping 127.1 -n 5 >nul 2>nul net start TermService >nul 2>nul ping 127.1 -n 2 >nul echo 재시작 완료 echo. echo 아무 키나 눌러 메뉴로 돌아가기 && 일시 정지 >nul 2>nul & menu_en으로 이동 :: ============================================================================================== :: 방화벽에서 포트 번호를 지정할 수 있습니다 :allowport_en cls echo. set port=init set /p port=포트 번호를 입력하세요: %port% == 0이면 menu_en으로 이동 set /a %port% 2>nul || (echo !port_error! & goto allowport_en) echo. !port!가 1024이면 !port!가 65535이면 portok2_en으로 이동 echo !port_error! & goto allowport_en :portok2_en netsh advfirewall 방화벽 규칙 이름 삭제="%port% 허용" >nul 2>nul netsh advfirewall 방화벽 규칙 추가 이름="%port% 허용" 프로토콜=TCP 디렉토리=in 로컬포트=%port% 동작=허용 >nul && (echo 방화벽 %port% 포트 허용) echo. echo 아무 키나 눌러 메뉴로 돌아가기 && 일시정지 >nul 2>nul & 메뉴_en으로 이동 :: =========================================================================================== :: 방화벽 구성 및 RDP 활성화 :secset_en cls echo. set tip=init echo 방화벽 설정 denny port=135,137,138,139,445/TCP^&UDP set /p tip=PING 허용, RDP 활성화, 확인 후 Enter를 누르세요... if %tip% == 0 goto menu_en echo 방화벽 구성/PING 허용/RDP 활성화 :: 모든 인바운드 규칙 비활성화 netsh advfirewall 방화벽 설정 규칙 이름=all 디렉토리=in new enable=no >nul 2>nul :: TCP&UDP 포트 거부(135/137/138/139/445) netsh advfirewall 방화벽 삭제 규칙 이름="tcp 135 거부" >nul 2>nul netsh advfirewall 방화벽 추가 규칙 이름="tcp 135 거부" protocol=TCP dir=in localport=135 action=block >nul && (echo tcp 135 거부) netsh advfirewall 방화벽 삭제 규칙 이름="udp 거부 135" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 udp 135" 프로토콜=UDP 디렉토리=in localport=135 동작=차단 >nul && (echo 거부 udp 135) netsh advfirewall 방화벽 규칙 이름 삭제="거부 tcp 137" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 tcp 137" 프로토콜=TCP 디렉토리=in localport=137 동작=차단 >nul && (echo 거부 tcp 137) netsh advfirewall 방화벽 규칙 이름 삭제="거부 udp 137" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="거부 udp 137" 프로토콜=UDP 디렉토리=in localport=137 동작=차단 >nul && (echo 거부 udp 137) netsh advfirewall 방화벽 규칙 이름 삭제="DENY tcp 138" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="DENY tcp 138" 프로토콜=TCP 디렉토리=in localport=138 작업=차단>nul && (echo DENY tcp 138) netsh advfirewall 방화벽 규칙 이름 삭제="DENY udp 138" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="DENY udp 138" 프로토콜=UDP 디렉토리=in localport=138 작업=차단>nul && (echo DENY udp 138) netsh advfirewall 방화벽 규칙 이름 삭제="DENY tcp 139" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="DENY tcp 139" 프로토콜=TCP 디렉토리=in localport=139 작업=차단>nul && (echo DENY tcp 139) netsh advfirewall 방화벽 규칙 이름 삭제="UDP 139 거부" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="UDP 139 거부" 프로토콜=UDP 디렉터리=in localport=139 작업=차단 >nul && (UDP 139 거부를 표시) netsh advfirewall 방화벽 규칙 이름 삭제="TCP 445 거부" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="TCP 445 거부" 프로토콜=TCP 디렉터리=in localport=445 작업=차단 >nul && (UDP 445 거부를 표시) netsh advfirewall 방화벽 규칙 이름 삭제="UDP 445 거부" >nul 2>nul netsh advfirewall 방화벽 규칙 이름 추가="UDP 445 거부" 프로토콜=UDP 디렉터리=in localport=445 작업=차단 >nul && (echo DENY udp 445) :: PING 허용 netsh advfirewall 방화벽 규칙 이름 설정="파일 및 프린터 공유(에코 요청 - ICMPv4-In)" dir=in new enable=yes >nul && (echo PING 허용) netsh advfirewall 방화벽 규칙 이름 설정="파일 및 프린터 공유(에코 요청 - ICMPv6-In)" dir=in new enable=yes >nul 2>nul :: rdp 허용 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f >nul 2>nul && (echo Enalbed RDP) :: 방화벽 허용 rdp 서비스 netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱(TCP-In)" dir=in new enable=yes >nul && (echo 방화벽 허용 RDP 서비스/TCP) || ^ netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱 - 사용자 모드(TCP-In)" dir=in new enable=yes >nul && (echo 방화벽 허용 RDP 서비스/TCP) netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱(TCP-In)" dir=in new enable=yes >nul && (echo 방화벽 허용 RDP 서비스/UDP) || ^ netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱 - 사용자 모드(UDP-In)" dir=in new enable=yes >nul && (echo 방화벽 허용 RDP 서비스/UDP) netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱(TCP-In)" dir=in new enable=yes >nul 2>nul netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱 - RemoteFX(TCP-In)" dir=in new enable=yes >nul 2>nul netsh advfirewall 방화벽 규칙 이름 설정="원격 데스크톱 - 사용자 모드(UDP-In)" dir=in new enable=yes >nul 2>nul :: 원격 데스크톱 보안 확인 0은 모든 링크를 허용하고 1은 보안 연결만 허용합니다. reg add "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp" /v "UserAuthentication" /t REG_DWORD /d "0" /f >nul 2>nul :: autochk_disk 없음 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v BootExecute /t reg_multi_sz /d "" /f >nul 2>nul :: 복구 모드 없음 bcdedit /set {기본값} bootstatuspolicy ignoreallfailures >nul 2>nul bcdedit /set {현재} recoveryenabled 없음 >nul 2>nul :: rsync 시간 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config" /v MaxNegPhaseCorrection /t REG_DWORD /d "0xFFFFFFFF" /f >nul 2>nul reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config" /v MaxPosPhaseCorrection /t REG_DWORD /d "0xFFFFFFFF" /f >nul 2>nul sc config w32time start= auto >nul 2>nul net stop w32time >nul 2>nul net start w32time >nul 2>nul net time \\127.0.0.1 /setsntp:time.windows.com >nul 2>nul w32tm /config /manualpeerlist:time.windows.com,0x8 /syncfromflags:MANUAL >nul 2>nul w32tm /resync >nul 2>nul :: IE ESC를 닫습니다. 끄려면 yes, 켜려면 no reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main" /v "브라우저 확장 프로그램 사용" /d "yes" /t REG_SZ /f >nul 2>nul reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main" /v "애니메이션 재생" /d "yes" /t REG_SZ /f >nul 2>nul reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main" /v "배경 사운드 재생" /d "yes" /t REG_SZ /f >nul 2>nul :: 방화벽 사용 netsh advfirewall set allprofiles state on >nul 2>nul && (echo 방화벽 활성화) echo. echo 설정 완료, 아무 키나 누르세요 메뉴로 돌아가기 && pause >nul 2>nul & menu_en으로 이동 :speedtest_cli_en 설정 speedtestfile=C:\Windows\System32\speedtest.exe 존재하지 않으면 !speedtestfile! ( powershell Invoke-WebRequest -Uri "http://198.200.51.51/speedtest.exe" -OutFile "C:\Windows\System32\speedtest.exe" speedtest.exe --accept-license 2>null ) 그렇지 않으면 ( speedtest.exe --accept-license 2>null ) echo. echo 아무 키나 누르세요 메뉴로 돌아가기 && pause >nul 2>nul & menu_en으로 이동 :iperf3_en 설정 "SV2_SERVER=142.4.97.233" 설정 "SV6_SERVER=107.148.199.113" 설정 "LA2_SERVER=107.148.135.25" set iperf3file=C:\Windows\System32\iperf3.exe if not exist !iperf3file! ( echo.&&echo iperf3 다운로드 중... powershell Invoke-WebRequest-Uri "http://198.200.51.51/iperf3/cygwin1.dll" -OutFile "C:\Windows\System32\cygwin1.dll" powershell Invoke-WebRequest -Uri "http://198.200.51.51/iperf3/iperf3.exe" -OutFile "C:\Windows\System32\iperf3.exe" ) else ( echo.&&echo iperf3 다운로드됨... ) :choice_SERVER_en echo iperf3 서버 목록 echo 1 SV2 echo 2 SV6 echo 3 LA2 set choice=init set /p choice=Pls 서버 ID[1-3]: "%choice%"=="0"이면 menu_en으로 이동 "%choice%"=="cmd"이면 cmd "%choice%"=="1"이면 ( echo.&&echo SV2에 업로드 테스트... iperf3 -c !SV2_SERVER! echo.&&echo SV2에서 다운로드 테스트... iperf3 -c !SV2_SERVER! -R echo 아무 키나 눌러 메뉴로 돌아가기 && pause >nul 2>nul & 메뉴로 돌아가기) "%choice%"=="2"이면 ( echo.&&echo SV6에 업로드 테스트... iperf3 -c !SV6_SERVER! echo.&&echo SV6에서 다운로드 테스트... iperf3 -c !SV6_SERVER! -R echo 아무 키나 눌러 메뉴로 돌아가기 && pause >nul 2>nul & goto menu_en) if "%choice%"=="3" ( echo.&&echo LA2에 업로드 테스트... iperf3 -c !LA2_SERVER! echo.&&echo LA2에서 다운로드 테스트... iperf3 -c !LA2_SERVER! -R echo 아무 키나 누르세요 메뉴로 돌아가기 && 일시 정지 >nul 2>nul & goto menu_en) echo !input_error! && goto choice_SERVER_en

 

5/5 - (1표)

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다