728x90
Windows 원격 데스크톱(RDP)을 관리할 때 포트를 변경하거나, 방화벽 규칙을 삭제/확인하는 작업은 필수적입니다.
이 글에서는 안정적이고 효율적인 RDP 포트 관리 배치 스크립트를 소개합니다.
주석과 함께 각 기능을 상세히 설명하였으며, 모든 작업이 자동화되어 초보자도 쉽게 사용할 수 있습니다.
스크립트의 주요 기능
- RDP 포트 변경
- 사용자가 원하는 포트 번호로 RDP 포트를 변경합니다.
- 기존 방화벽 규칙을 삭제하고 새로운 규칙을 추가하여 연결을 유지합니다.
- 원격 데스크톱 서비스(TermService)를 재시작해 변경 사항을 즉시 적용합니다.
- 방화벽 규칙 삭제
- 특정 포트를 허용하는 방화벽 규칙을 삭제합니다.
- 삭제 전 영향을 명확히 경고하며 작업을 취소할 수 있는 옵션을 제공합니다.
- 방화벽 규칙 확인
- 설정된 모든 원격 데스크톱 관련 방화벽 규칙을 출력합니다.
- 메뉴 기반 인터페이스
- 사용자가 숫자로 메뉴를 선택할 수 있도록 설계되어 직관적입니다.
@echo off
:: 관리자 권한 확인
bcdedit > nul || (echo 관리자 권한으로 실행하세요. & pause & exit)
:MENU
cls
echo =====================================
echo 원격 데스크톱 포트 관리 스크립트
echo =====================================
echo 1. 원격 데스크톱 포트 변경
echo 2. 원격 데스크톱 방화벽 규칙 삭제
echo 3. 원격 데스크톱 방화벽 규칙 확인
echo 4. 종료
echo =====================================
set /p select=메뉴 선택 (1,2,3,4):
:: 메뉴 선택에 따른 작업 분기
if "%select%"=="1" (
goto CHANGE_PORT
) else if "%select%"=="2" (
goto DELETE_PORT
) else if "%select%"=="3" (
goto VIEW_RULES
) else if "%select%"=="4" (
echo 프로그램을 종료합니다.
exit
) else (
echo 유효하지 않은 입력입니다. 다시 입력해주세요.
pause
goto MENU
)
:CHANGE_PORT
cls
echo =====================================
echo 원격 데스크톱 포트 변경
echo =====================================
set /p port=변경할 포트 번호 입력 (0~65535):
:: 포트 번호 유효성 검사
if "%port%"=="" goto INVALID_PORT
if %port% LSS 1 goto INVALID_PORT
if %port% GTR 65535 goto INVALID_PORT
:: 레지스트리 값 변경
echo 포트를 %port%로 변경합니다...
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d %port% /f
:: 기존 방화벽 규칙 삭제
echo 기존 방화벽 규칙을 삭제 중...
netsh advfirewall firewall delete rule name="원격 데스크톱 %port%" dir=in protocol=tcp > nul 2>&1
:: 새로운 방화벽 규칙 추가
echo 새로운 방화벽 규칙 추가 중...
netsh advfirewall firewall add rule name="원격 데스크톱 %port%" dir=in action=allow protocol=tcp localport=%port%
:: 서비스 재시작
echo TermService 서비스를 재시작 중...
net stop TermService /y > nul 2>&1
net start TermService > nul 2>&1
if errorlevel 1 (
echo 서비스 재시작 중 문제가 발생했습니다. 관리자 권한을 확인하세요.
) else (
echo 원격 데스크톱 포트가 %port%로 변경되었으며, 즉시 적용되었습니다.
)
pause
goto MENU
:DELETE_PORT
cls
echo =====================================
echo 원격 데스크톱 방화벽 규칙 삭제
echo =====================================
set /p del_port=삭제할 포트 번호 입력:
if "%del_port%"=="" goto INVALID_PORT
:: 삭제 전 경고
echo 포트 %del_port%의 방화벽 규칙을 삭제하면 더 이상 해당 포트로 원격 데스크톱 연결이 불가능할 수 있습니다.
set /p confirm=정말로 삭제하시겠습니까? (Y/N):
if /i "%confirm%"=="Y" (
echo 포트 %del_port%의 방화벽 규칙을 삭제 중...
netsh advfirewall firewall delete rule name="원격 데스크톱 %del_port%" dir=in protocol=tcp
echo 포트 %del_port%에 대한 방화벽 규칙이 삭제되었습니다.
pause
goto MENU
) else if /i "%confirm%"=="N" (
echo 삭제 작업이 취소되었습니다.
pause
goto MENU
) else (
echo 유효하지 않은 입력입니다. 삭제 작업을 취소합니다.
pause
goto MENU
)
:VIEW_RULES
cls
echo =====================================
echo 원격 데스크톱 방화벽 규칙 확인
echo =====================================
netsh advfirewall firewall show rule name=all dir=in | findstr /C:"원격 데스크톱"
pause
goto MENU
:INVALID_PORT
echo 유효하지 않은 포트 번호입니다. 0~65535 사이의 숫자를 입력하세요.
pause
goto MENU
스크립트 주석 설명
1. 관리자 권한 확인
bcdedit > nul || (echo 관리자 권한으로 실행하세요. & pause & exit)
- 이 명령어는 관리자 권한으로 실행되지 않으면 스크립트를 종료합니다.
2. 포트 변경
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d %port% /f
- RDP 포트를 변경합니다.
- 변경 후 TermService 서비스를 재시작하여 변경 사항을 즉시 적용합니다.
3. 방화벽 규칙 삭제
netsh advfirewall firewall delete rule name="원격 데스크톱 %del_port%" dir=in protocol=tcp
- 지정된 포트에 대한 방화벽 규칙을 삭제합니다.
- 삭제 작업 전 사용자에게 경고 메시지를 출력하고 작업을 취소할 수 있도록 옵션을 제공합니다.
4. 방화벽 규칙 확인
netsh advfirewall firewall show rule name=all dir=in | findstr /C:"원격 데스크톱"
- 현재 설정된 모든 원격 데스크톱 방화벽 규칙을 출력합니다.
728x90
반응형
'OS > Windows' 카테고리의 다른 글
Windows - BGInfo로 VM 관리 자동화하기: 설치, 설정, 활용법 (0) | 2024.11.25 |
---|---|
Windows - Hyper-V VHDX 템플릿으로 VM 생성 및 관리하는 방법 (0) | 2024.11.22 |
Windows - RDP 포트 변경 및 원격 데스크톱 설정 방법 (0) | 2024.11.18 |
Windows - Hyper-V 가상 스위치 오류 해결과 네트워크 설정 팁 (4) | 2024.11.16 |
Windows - Hyper-V 설치 오류 : BIOS에서 가상화 활성화하기 (2) | 2024.11.15 |