반응형
import subprocess
import time
import sys
def enable_remote_desktop():
try:
# 원격 데스크톱 활성화 (레지스트리 설정)
subprocess.run(
'powershell -Command "Set-ItemProperty -Path \'HKLM:\\System\\CurrentControlSet\\Control\\Terminal Server\' -Name fDenyTSConnections -Value 0"',
shell=True,
check=True
)
print("원격 데스크톱 기능이 성공적으로 활성화되었습니다.")
except subprocess.CalledProcessError as e:
print("오류가 발생했습니다:", e)
def enable_firewall_rule():
try:
# PowerShell에서 방화벽 규칙 활성화 명령어 실행
subprocess.run(
'powershell -Command "Enable-NetFirewallRule -DisplayGroup \'원격 데스크톱\'"',
shell=True,
check=True
)
print("방화벽 규칙이 성공적으로 활성화되었습니다.")
except subprocess.CalledProcessError as e:
print("오류가 발생했습니다:", e)
def portnumber_change(port_number=10002):
try:
# 첫 번째 레지스트리 경로에서 RDP 포트 번호 설정
command1 = f'powershell -Command "Set-ItemProperty -Path \'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp\' -Name PortNumber -Value {port_number}"'
subprocess.run(command1, shell=True, check=True)
# 두 번째 레지스트리 경로에서 RDP 포트 번호 설정
command2 = f'powershell -Command "Set-ItemProperty -Path \'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp\' -Name PortNumber -Value {port_number}"'
subprocess.run(command2, shell=True, check=True)
print("Port Number가 성공적으로 변경되었습니다.")
except subprocess.CalledProcessError as e:
print("오류가 발생했습니다:", e)
def add_firewall_rule(port_number=10002):
try:
# PowerShell 명령어 실행하여 방화벽 규칙 추가
command = f'powershell -Command "New-NetFirewallRule -DisplayName \'원격 데스크톱 연결({port_number})\' -Direction Inbound -Protocol TCP -LocalPort {port_number} -Action Allow"'
subprocess.run(command, shell=True, check=True)
print(f"포트 {port_number}에 대한 방화벽 규칙이 성공적으로 추가되었습니다.")
except subprocess.CalledProcessError as e:
print("오류가 발생했습니다:", e)
def restart_term_service():
try:
#subprocess.run('net stop SessionEnv', shell=True, check=True) # 'SessionEnv'는 일반적인 종속 서비스입니다.
# TermService 중지
subprocess.run('net stop TermService', shell=True, check=True)
# TermService 시작
subprocess.run('net start TermService', shell=True, check=True)
# 종속 서비스 다시 시작
#subprocess.run('net start SessionEnv', shell=True, check=True)
print("TermService가 성공적으로 다시 시작되었습니다.")
except subprocess.CalledProcessError as e:
print("오류가 발생했습니다:", e)
# 함수 호출
portnumber = input("입력하실 포트 번호를 입력해주세요. : ")
enable_remote_desktop()
time.sleep(5)
enable_firewall_rule()
time.sleep(5)
portnumber_change(portnumber)
time.sleep(5)
add_firewall_rule(portnumber)
time.sleep(5)
restart_term_service()
print("원격 데스크톱 서비스가 성공적으로 활성화되었습니다.")
print("자동으로 종료됩니다.")
time.sleep(5)
sys.exit(0)
반응형
'공부를 함시다 > Python' 카테고리의 다른 글
[Python] imgur api로 imgur에 사진 업로드하기 (0) | 2025.01.22 |
---|---|
[Python] 로컬 이미지를 클립보드에 복사하기 (0) | 2025.01.22 |
[Python] HandDetector를 이용한 소리 크기 조절 (0) | 2024.11.10 |
[Python] PoseDetector을 이용한 운동 횟수 세기 (0) | 2024.11.03 |
[Python] 얼굴 인식 후 배경 흐리게 처리하기 (0) | 2024.10.20 |