Шаг 1 — Останавливаем службу RDP и сбрасываем MachineKeys
Stop-Service termservice -Force
Затем переименовываем папку с ключами (это сброс без удаления):
Rename-Item "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" "MachineKeys_bak"
Шаг 2 — Удаляем старый RDP-сертификат
Remove-Item "HKLM:\SOFTWARE\Microsoft\SystemCertificates\Remote Desktop" -Recurse -Force
Remove-Item "Cert:\LocalMachine\Remote Desktop" -Recurse -Force -ErrorAction SilentlyContinue
Шаг 3 — Создаём новый самоподписанный сертификат
Если после запуска службы сертификат не создался автоматически — создаём вручную:
$cert = New-SelfSignedCertificate `
-DnsName $env:COMPUTERNAME `
-CertStoreLocation "Cert:\LocalMachine\My" `
-KeyUsage DigitalSignature,KeyEncipherment `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-HashAlgorithm SHA256 `
-NotAfter (Get-Date).AddYears(2)
$thumbprint = $cert.Thumbprint
Write-Host "Thumbprint: $thumbprint"
Шаг 4 — Назначаем сертификат службе RDP
$path = (Get-WmiObject `
-Class Win32_TSGeneralSetting `
-Namespace root\cimv2\TerminalServices `
-Filter "TerminalName='RDP-tcp'").__PATH
Set-WmiInstance -Path $path -Argument @{ SSLCertificateSHA1Hash = $thumbprint }
Шаг 5 — Запускаем службу
Start-Service termservice
Проверяем статус:
Get-Service termservice