Я пытаюсь использовать wmic подход присвоения самоподписанного сертификата для использования Удаленного рабочего стола на Windows Server 2012 VM, как описано здесь и здесь.
CA для сертификата RDP был установлен на Локальной Машине>, Доверенные корневые центры сертификации и сам сертификат RDP были установлены на Локальной Машине> Удаленный рабочий стол.
Когда я пытаюсь дать wmic команду для использования импортированного сертификата RDP, я получаю следующую ошибку:
C:\Windows\system32> wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="3c7a7a78af9699b69182dff15329834113a518b3"
Updating property(s) of '\\SERVER\root\CIMV2\TerminalServices:Win32_TSGeneralSetting.TerminalName="RDP-Tcp"'
ERROR:
Description = Invalid parameter
... Я также пытался импортировать сертификат RDP на Локальной Машине> Персональный, но сообщение об ошибке остается неизменным.
Убедитесь, что для используемого вами сертификата задана проверка подлинности сервера (1.3.6.1.5.5.7.3.1) в поле расширенного использования ключа, иначе вы получите эту ошибку.
Создайте самозаверяющий сертификат терминальных служб и установите его
В предыдущем ответе , относящемся к этой теме, один из комментариев от кого-то утверждал, что версия команды wmic не работает для них на машине 2012 R2, но эквивалентная версия Powershell работала. Вы можете попробовать это. Вот эквивалентная команда Powershell.
$path = (gwmi -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
swmi -Path $path -argument @{SSLCertificateSHA1Hash="THUMBPRINT"}
У меня тоже была эта проблема, которая привела меня сюда. Мое решение состояло в том, чтобы дважды проверить, что ваш отпечаток (после удаления пробелов и специального ведущего символа) точно отражает отпечаток сертификата. Мне не хватало конечной цифры; после повторного добавления я получил сообщение "Обновление свойств выполнено успешно. Удачи.
Возникла с той же проблемой в течение 3 часов, но обнаружил корень проблемы. В моем случае причиной ошибки «Недопустимый параметр» было то, что я по ошибке импортировал сертификат без соответствующего закрытого ключа .
Поэтому убедитесь, что при открытии сертификат на вкладке Общие вы видите в последней строке символ ключа и текст «У вас есть закрытый ключ, соответствующий этому сертификату». Сертификат с закрытым ключом
Совместить сертификат и ключ в pfx-файл довольно просто. Посмотрите здесь https://www.ssl.com/how-to/create-a-pfx-p12-certificate-file-using-openssl/
Попробуйте поместить буквы отпечатка пальца заглавными, а не строчными буквами. В Server 2012 R2 по какой-то причине не используются строчные буквы в отпечатке для команды wmic, например D8f87e2cff8fcc5789f53b5539fc12a0b5eecba8 должен быть D8F87E2CFF8FCC5789F53B5539FC12A0B5EECBA8.
Самый простой способ получить отпечаток пальца «как он должен быть» - открыть PowerShell и получить отпечаток с помощью следующей команды:
Get-Childitem Cert: \ LocalMachine \ My
Он отобразит отпечатки для сертификатов локальных машин без пробелов и букв в заглавных буквах.
В любом случае, посмотрите эту статью, она действительно хороша: https://ryanmangansitblog.com/2013/03/10/configuring-rds-2012- Certific-and-sso /
Попытка обобщить контрольный список, потому что это может произойти разными способами.
Надеюсь, это поможет решить вашу проблему: D
Обнаружено, что указанная выше команда не работает, как ожидалось. После ввода команд вручную это сработало, не знаю, что произошло, но на всякий случай вот что я использовал
$TSGS = Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace "root\cimv2\terminalservices"
Set-WmiInstance -Path $TSGS -Arguments @{SSLCertificateSHA1Hash="4adcffbcf35ba044d93108ae2e2c51fa3c3fc983"}
При копировании сертификата почему-то в начале стоит скрытый символ. не забудьте скопировать сертификат без скрытого символа при входе в свойства сертификата. Если вы посмотрите на ответ команды «недопустимый параметр» и посмотрите на сертификат, который вы пытались ввести, вы увидите прямоугольный символ в начале.