Si encuentras alguna parte que no entiendes puedes dejarlo en la sección de comentarios y haremos todo lo posible de ayudarte lo mas rápido que podamos.
Solución:
Solución 1:
Resulta que gran parte de los datos de configuración de RDSH se almacenan en el Win32_TSGeneralSetting
clase en WMI en el rootcimv2TerminalServices
espacio de nombres El certificado configurado para una conexión dada es referenciado por el valor de Huella digital de ese certificado en una propiedad llamada SSLCertificateSHA1Hash
.
ACTUALIZAR: Aquí hay una solución Powershell generalizada que toma y establece la huella digital del primer certificado SSL en la tienda personal de la computadora. Si su sistema tiene varios certificados, debe agregar un -Filter
opción a la gci
para asegurarse de que hace referencia al certificado correcto. Dejé mi respuesta original intacta debajo de esto como referencia.
# get a reference to the config instance
$tsgs = gwmi -class "Win32_TSGeneralSetting" -Namespace rootcimv2terminalservices -Filter "TerminalName='RDP-tcp'"
# grab the thumbprint of the first SSL cert in the computer store
$thumb = (gci -path cert:/LocalMachine/My | select -first 1).Thumbprint
# set the new thumbprint value
swmi -path $tsgs.__path -argument @SSLCertificateSHA1Hash="$thumb"
Para obtener el valor de la huella digital
- Abra el cuadro de diálogo de propiedades de su certificado y seleccione la pestaña Detalles.
- Desplácese hacia abajo hasta el campo Huella digital y copie el espacio delimitado por hexadecimal string en algo como el Bloc de notas
- Elimina todos los espacios de la string. También querrá estar atento y eliminar un carácter que no sea ascii que a veces se copia justo antes del primer carácter en el string. No es visible en el Bloc de notas.
- Este es el valor que necesita establecer en WMI. Debería verse algo como esto: 1ea1fd5b25b8c327be2c4e4852263efdb4d16af4.
Ahora que tiene el valor de la huella digital, aquí hay una línea que puede usar para establecer el valor usando wmic:
wmic /namespace:\rootcimv2TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"
O si PowerShell es lo tuyo, puedes usar esto en su lugar:
$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace rootcimv2terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @SSLCertificateSHA1Hash="THUMBPRINT"
Nota: el certificado debe estar en el Almacén de certificados ‘Personal’ para la cuenta de la computadora.
Solución 2:
Si obtiene “Parámetro no válido” cuando intenta la solución de Ryan, asegúrese de estar utilizando un símbolo del sistema elevado (ejecutar como administrador).