반응형
728x90
사전 준비
-
윈도우 가상머신
-
az cli가 설치된 로컬 컴퓨터
가상머신에 접속하지 않고 az vm run-invoke 명령어와, 스크립트를 이용해 윈도우의 RDP포트를 다른포트로 변경하는 방법입니다.
로컬 컴퓨터에서 change_rdp_port.ps1이라는 파일을 만들고 아래 내용으로 채워줍니다.
1 포트 변경
1-1 방화벽에 규칙 추가와 함께
change_rdp_port.ps1의 파일 내용
# 포트 확인
#Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
$portvalue = 33893
# 레지스트리에 RDP 포트 변경
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
# 방화벽에서 변경된 포트를 허용
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Private' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Private' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue
# 서비스 재시작
Restart-Service -Force -Name "TermService"
1-2 방화벽과 윈도우 업데이트 비활성화와 함께
change_rdp_port.ps1의 파일 내용
#Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
#Get-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In'
$portvalue = 33893
# 레지스트리에 RDP 포트 변경
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
# 방화벽 비활성화
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
# 업데이트 비활성화
Set-Service -Name wuauserv -StartupType Disabled
Set-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -name NoAutoUpdate -Value 0
Set-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -name AUOptions -Value 3
# 서비스 재시작
Restart-Service -Force -Name "TermService"
2 로컬PC에서 VM에 원격으로 파워쉘 실행
powershell에서 아래 명령어를 실행 합니다.
#$ids = "/subscriptions/4c3e8c6f-e570-448b-82c5-1507cb59d0b5/resourceGroups/rgRDP_group/providers/Microsoft.Compute/virtualMachines/rgRDP"
#$scriptPath = "d:\change_rdp_port.ps1"
#$ids = <가상머신의 ID>
#$scriptPath = <ps1 파일의 경로>
az vm run-command invoke --ids $ids --command-id RunPowerShellScript --script @$scriptPath
반응형
LIST
'IT > Azure' 카테고리의 다른 글
Azure Logic App으로 Gmail발송 (0) | 2023.05.09 |
---|---|
Azure IoT Hub 시뮬레이션 장치 등록 오류 (0) | 2023.05.09 |
Azure Patch Orchestration (패치 오케스트레이션) (0) | 2023.04.29 |
Azure Computing Gallery - Windows (0) | 2023.04.29 |
AzureAD로 VM에 로그인 (0) | 2023.04.29 |