RDS – Remplacement du certificat par défaut personnalisé (auto-signé) sur un serveur hôte de session Bureau à distance

7 novembre 2019 Non Par Rached CHADER

Votre ferme RDS va utiliser un certificat personnalisé (auto-signé), a chaque connexion a distance vous allez avoir un message d’erreur

Lorsque vous importer ou bien crée un certificat via Active Directory Certificate Services (AD CS) sur un serveur hôte de session Bureau à distance (RDSH) il ne sera pas activé automatiquement.

 

Même si vous supprimer le certificat personnalisé (auto-signé) il ne sera pas remplacé par le certificat importer est au prochain redémarrage du serveur il réapparaitra

 

Voici une solution PowerShell qui enregistre et définit l’empreinte du premier certificat SSL dans le magasin personnel de l’ordinateur. Si votre système comporte plusieurs certificats, vous devez ajouter une option -Filter à la commande gci pour vous assurer de référencer le bon certificat.

1
2
3
4
5
6
7
8
9
10
11
12
# obtenir une référence à l'instance de configuration
$instance = gwmi -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"

# récupérer l'empreinte du premier certificat SSL dans le magasin d'informatique
$thumb = (gci -path cert:/LocalMachine/My | select -first 1).Thumbprint

# ou Specifier l'empreinte du certificat SSL dans le magasin d'informatique

$thumb = (gci -path cert:/LocalMachine/My |? { $_.Thumbprint -eq 'A3A0303FFEB3FBE8C3AC148445AE952BBDBA8ACC' }).Thumbprint

# définir la nouvelle valeur d'empreinte
swmi -path $instance.__path -argument @{SSLCertificateSHA1Hash="$thumb"}

Pour obtenir la valeur d’empreinte

  • Ouvrez la boîte de dialogue des propriétés de votre certificat et sélectionnez l’onglet Détails.
  • Faites défiler jusqu’au champ Empreinte numérique et copiez la chaîne hexagonale délimitée par des espaces dans Notepad.
  • Supprimer tous les espaces de la chaîne.

C’est la valeur que vous devez définir dans WMI. Cela devrait ressembler à ça : 1ea1fd5b25b8c327be2c4e4852263efdb4d16af4.

Maintenant que vous avez la valeur empreinte digitale, voici une ligne que vous pouvez utiliser pour définir la valeur à l’aide de wmic:

1
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"

Ou via PowerShell :

1
2
$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="THUMBPRINT"}

Visits: 7494