Замена сертификатов RDP (без роли RDS)
На хостах, где есть RDP, но не установлена роль RDS - по умолчанию будут использоваться самоподписанные сертификаты, срок которых составляет полгода. По истечение данного срока - сертификаты будут перегенерированы.
Данные самоподписанные сертификаты можно найти в хранилище сертификатов компьютера, в папке remote desktop.
Генерация и установка валидных сертификатов сама по себе автоматически не заставляет сервисы RDP их использовать. В документации MS есть несколько условий валидности установленных сертификатов RDP:
Certificates in Remote Desktop Services need to meet the following requirements: The certificate is installed in the local computer’s “Personal” certificate store. The certificate has a corresponding private key. The Enhanced Key Usage extension has a value of either “Server Authentication” or “Remote Desktop Authentication” (1.3.6.1.4.1.311.54.1.2). You can also use certificates with no Enhanced Key Usage extension.
После того, как мы установили изданный сертификат с поддержкой Server Authentication или Remote Desktop Authentication - необходимо отправть команду серверу RDP использовать сертификат с нужным отпечатком.
В первую очередь выясним отпечаток следуюшим образом:
Set-Location Cert:\LocalMachine\my Get-ChildItem
Установим сертификат для использования:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="B4E058D98DA397B3AF46F391F605FDFB211BE91D"
Установку сертификата нужно производить из консоли, запущенной от имени админа.
Перезапуск служб не требуется.
В случае успеха, получим сообщение: Property(s) update successful.
Посмотреть используемый сертификат можно командой:
Get-WmiObject "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"
Команды, связанные с WMI - не отрабатываются в PowerShell 7, только в PS5