이 글에서는 원격 Windows 컴퓨터의 RDP(원격 데스크톱) 세션에서 사용자 암호를 변경하는 다양한 방법을 소개합니다. 원격 호스트는 원격 데스크톱 서비스 역할(RDSH)이 구성된 Windows Server일 수도 있고, 하나 이상의 RDP 연결을 허용하도록 설정된 Windows 10/11 워크스테이션일 수도 있습니다.
RDP 세션에서 사용자들이 가장 흔히 겪는 문제는 Ctrl + Alt + Delete 키 조합으로 표준 암호 변경 대화 상자를 열 수 없다는 점입니다. 이 단축키는 로컬 운영체제에서 처리되기 때문에 RDP 세션으로 전달되지 않습니다.
Windows Server 2003/2008에서는 시작 버튼을 클릭한 후 Windows 보안 → 암호 변경을 선택하여 RDP 세션에서 암호를 변경할 수 있었습니다.

하지만 Windows Server 2016/2019/2022 및 Windows 10/11을 비롯한 이후 버전에서는 시작 메뉴에 'Windows 보안' 항목이 없어 이 방법은 더 이상 사용할 수 없습니다.
목차:
- Ctrl + Alt + End로 RDP 세션에서 암호 변경
- 화상 키보드를 이용한 암호 변경
- VBS/PowerShell 스크립트로 암호 변경 창 열기
- 원격 데스크톱 웹 액세스(RDWEB)를 통한 암호 변경
- CredSSP NLA 환경과 RDP 암호 변경
Ctrl + Alt + End로 RDP 세션에서 암호 변경하기
최신 Windows 버전에서는 RDP 세션 내에서 Windows 보안 대화 상자를 열려면 Ctrl + Alt + End 키 조합을 사용해야 합니다. 이 단축키는 Ctrl + Alt + Delete와 동일한 기능을 하지만 RDP 창 안에서만 작동합니다. 메뉴에서 암호 변경을 선택하세요.

이제 표준 대화 상자에서 암호를 변경할 수 있습니다(현재 암호를 입력한 후 새 암호를 두 번 입력). 
화상 키보드를 이용한 암호 변경
여러 단계의 RDP 세션을 거쳐 Windows 호스트의 원격 데스크톱에 연결된 경우에는 Ctrl+Alt+End로 암호를 변경할 수 없습니다. 첫 번째 RDP 창이 해당 단축키를 가로채기 때문입니다. 이런 경우에는 Windows에 내장된 화상 키보드(On-Screen Keyboard)를 활용하면 됩니다.
- 대상 RDP 세션에서 화상 키보드를 실행합니다(시작 메뉴에
osk.exe를 입력하는 것이 가장 간단합니다);
- 화면에 화상 키보드가 나타납니다;
- 물리(로컬) 키보드에서
CTRL+ALT를 누른 상태에서(화면에 눌린 상태가 표시되어야 함) 화상 키보드의Del버튼을 클릭합니다;
- 그러면 Ctrl+Alt+Del 조합이 원격 RDP 세션으로 전송되고, 표준 Windows 보안 대화 상자가 나타나 암호를 변경할 수 있습니다.
암호 변경 시 새 암호는 로컬 또는 도메인 암호 정책의 요구 사항을 충족해야 한다는 점을 기억하세요.
새 암호가 요구 사항을 충족하지 못하면 아래와 같은 메시지가 표시됩니다:
Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain. (암호를 업데이트할 수 없습니다. 새 암호로 입력한 값이 도메인의 길이, 복잡성 또는 기록 요구 사항을 충족하지 않습니다.)

또한 도메인 정책(또는 세분화된 암호 정책 PSO)에 최소 암호 사용 기간이 설정되어 있으면, GPO에서 지정한 기간보다 자주 암호를 변경할 수 없습니다.
다음 PowerShell 명령으로 사용자 암호의 만료 시점을 확인할 수 있습니다:
Get-ADUser -Identity jsmith -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }}
VBS/PowerShell 스크립트로 RDP 세션에서 암호 변경 창 열기
Windows에 내장된 도구인 VBScript, PowerShell 또는 셸 바로 가기를 사용하여 RDP 세션에서 Windows 보안 대화 상자를 호출할 수 있습니다.
예를 들어 바탕 화면에 다음 VBScript 코드가 담긴 WindowsSecurity.vbs 텍스트 파일을 생성합니다:
set objShell = CreateObject("shell.application")
objshell.WindowsSecurity
VBS 파일을 두 번 클릭하면 표준 암호 변경 양식이 나타납니다.
이 VBS 파일을 RDS 호스트의 공용 바탕 화면(%SystemDrive%\Users\Public\Desktop\)에 배치하거나, GPO를 통해 사용자들의 바탕 화면으로 복사할 수 있습니다.

같은 방식으로 PowerShell에서도 암호 변경 창을 열 수 있습니다. 아래 명령을 사용하세요:
New-Object -COM Shell.Application).WindowsSecurity()

또한 다음 경로로 파일 탐색기 바로 가기를 만들어 사용할 수도 있습니다:
C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

원격 데스크톱 웹 액세스(RDWEB)를 통한 암호 변경
원격 데스크톱 웹 액세스(RDWA) 역할이 설치된 호스트를 통해 RDP 서버에 접속한다면, RDWA 로그인 페이지에서 만료된 암호를 변경할 수 있도록 설정할 수 있습니다(자세한 구성 방법은 관련 문서를 참조하세요).

CredSSP NLA 환경과 RDP 암호 변경
RDP에서 만료된 사용자 암호를 변경할 때는 NLA(네트워크 수준 인증)와 CredSSP(Credential Security Support Provider) 프로토콜과 관련된 중요한 특징이 있습니다. Windows Server 2012/Windows 8 이상에서는 기본적으로 RDP에 대해 CredSSP와 NLA가 활성화되어 있습니다. NLA는 RDP 세션이 호스트와 연결되기 전에 사용자를 인증함으로써 RDP 서버를 보호합니다.
사용자 암호가 만료되었거나 AD 관리자가 userAccountControl 옵션 중 '다음 로그온 시 사용자가 반드시 암호 변경'을 활성화한 경우(주로 신규 AD 계정에 적용됨), RDP로 로그온할 때 다음과 같은 오류가 표시됩니다:
Remote Desktop Connection You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support.

결과적으로 사용자는 RDP로 서버에 접속하여 암호를 변경할 수 없게 됩니다.
이 경우 원격 사용자가 암호를 변경할 수 있도록 하려면 다음 방법들을 활용할 수 있습니다:
- 앞서 설명한 대로 암호 변경 페이지가 포함된 RDWA 역할을 구성합니다;
- RDP 호스트에서 NLA를 비활성화합니다(보안 수준이 크게 저하되므로 권장하지 않음!!!) 그리고 연결 시
enablecredsspsupport:i:0줄이 포함된 .rdp 파일을 사용합니다; - 사용자 암호 변경 전용 별도 RDP 호스트를 운영합니다. 이 호스트에는 원격 데스크톱 세션 호스트 역할을 설치하거나 사용자를 로컬 Remote Desktop Users 그룹에 추가할 필요가 없지만, NLA는 비활성화해야 합니다. 그러면 사용자는 암호를 변경할 수 있지만 RDP로 서버에 로그온할 수는 없습니다;

- 도메인 컨트롤러에 네트워크로 접근 가능한 경우, 사용자가 PowerShell을 통해 원격으로 암호를 변경할 수 있습니다.