wmic: ошибка при установке удаленного рабочего стола самоподписала сертификат

Я пытаюсь использовать 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 на Локальной Машине> Персональный, но сообщение об ошибке остается неизменным.

5
задан 13 April 2017 в 15:14
8 ответов

Убедитесь, что для используемого вами сертификата задана проверка подлинности сервера (1.3.6.1.5.5.7.3.1) в поле расширенного использования ключа, иначе вы получите эту ошибку.

Создайте самозаверяющий сертификат терминальных служб и установите его

0
ответ дан 3 December 2019 в 01:04

В предыдущем ответе , относящемся к этой теме, один из комментариев от кого-то утверждал, что версия команды 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"}
1
ответ дан 3 December 2019 в 01:04

У меня тоже была эта проблема, которая привела меня сюда. Мое решение состояло в том, чтобы дважды проверить, что ваш отпечаток (после удаления пробелов и специального ведущего символа) точно отражает отпечаток сертификата. Мне не хватало конечной цифры; после повторного добавления я получил сообщение "Обновление свойств выполнено успешно. Удачи.

0
ответ дан 3 December 2019 в 01:04

Возникла с той же проблемой в течение 3 часов, но обнаружил корень проблемы. В моем случае причиной ошибки «Недопустимый параметр» было то, что я по ошибке импортировал сертификат без соответствующего закрытого ключа .

Поэтому убедитесь, что при открытии сертификат на вкладке Общие вы видите в последней строке символ ключа и текст «У вас есть закрытый ключ, соответствующий этому сертификату». Сертификат с закрытым ключом

Совместить сертификат и ключ в pfx-файл довольно просто. Посмотрите здесь https://www.ssl.com/how-to/create-a-pfx-p12-certificate-file-using-openssl/

5
ответ дан 3 December 2019 в 01:04

Попробуйте поместить буквы отпечатка пальца заглавными, а не строчными буквами. В Server 2012 R2 по какой-то причине не используются строчные буквы в отпечатке для команды wmic, например D8f87e2cff8fcc5789f53b5539fc12a0b5eecba8 должен быть D8F87E2CFF8FCC5789F53B5539FC12A0B5EECBA8.

Самый простой способ получить отпечаток пальца «как он должен быть» - открыть PowerShell и получить отпечаток с помощью следующей команды:

Get-Childitem Cert: \ LocalMachine \ My

Он отобразит отпечатки для сертификатов локальных машин без пробелов и букв в заглавных буквах.

В любом случае, посмотрите эту статью, она действительно хороша: https://ryanmangansitblog.com/2013/03/10/configuring-rds-2012- Certific-and-sso /

4
ответ дан 3 December 2019 в 01:04

Попытка обобщить контрольный список, потому что это может произойти разными способами.

  • Убедитесь, что вы используете командную строку PowerShell / командную строку под административными привилегиями , как указано в этот ответ
  • Убедитесь, что вы импортировали сертификат с закрытым ключом . Проверьте ответ Дмитрия
  • . Убедитесь, что когда вы пытаетесь импортировать сертификат, импортируйте его в Учетную запись компьютера-> Личный . Пожалуйста, обратитесь к в этом блоге .
  • Я еще не сталкивался с этой проблемой, но кто-то может ее решить, измените отпечаток пальца на заглавную . Посмотрите ответ от Эрика .
  • Если у вас такая же проблема, как и у многих других , как сказал Райан , запустите его версию Powershell.
  • Если вы используете блокнот, который действует как буфер при попытке удалить пространство в отпечатке большого пальца, убедитесь, что вы удалили символ ASCII в начале отпечатка. Как указано в этой статье поддержки от MS .

Надеюсь, это поможет решить вашу проблему: D

2
ответ дан 3 December 2019 в 01:04

Обнаружено, что указанная выше команда не работает, как ожидалось. После ввода команд вручную это сработало, не знаю, что произошло, но на всякий случай вот что я использовал

$TSGS = Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace "root\cimv2\terminalservices"
Set-WmiInstance -Path $TSGS -Arguments @{SSLCertificateSHA1Hash="4adcffbcf35ba044d93108ae2e2c51fa3c3fc983"}
0
ответ дан 3 December 2019 в 01:04

При копировании сертификата почему-то в начале стоит скрытый символ. не забудьте скопировать сертификат без скрытого символа при входе в свойства сертификата. Если вы посмотрите на ответ команды «недопустимый параметр» и посмотрите на сертификат, который вы пытались ввести, вы увидите прямоугольный символ в начале.

0
ответ дан 3 December 2019 в 01:04

Теги

Похожие вопросы