Windows Server 2012のRDPでサーバー証明書を設定する方法

RDP(リモートデスクトップ)でキチンとセキュアな環境を整えるためには、
サーバー証明書を設定する必要がある。
設定する理由と、設定しない場合の弊害は下記記事を参照するとわかりやすい。
参考: リモート・デスクトップ接続のサーバに「正しい」証明書を割り当てる

さて、それでWindows Server 2008 R2であればGUIで簡単に割り当てられるのだが、
Windows Server 2012では同様の項目が見つからなかった。
調べた結果、どうもPowerShellを使うぐらいしか方法が見つからなかったので、その方法を記載する。

  1. 新しい証明書をダブルクリックし、インポートする。
  2. PowerShellを管理者として実行する。
  3. 以下を実行し、新しい証明書のThumbprintを確認する。
    dir cert:\LocalMachine\My
  4. 以下を実行する。これは単にパスを設定するだけである。
    $path = (Get-WmiObject -class “Win32_TSGeneralSetting” -Namespace root\cimv2\terminalservices -Filter “TerminalName=’RDP-tcp'”).__path
  5. 以下を実行し、証明書の割当を変更する。
    Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash=”新しい証明書のThumbprint”}

以上の手順で証明書を設定できる。
実行後、特にエラーが起きないことを確認したら、RDPを切断し、再度RDPで接続できることを念の為に確認する。
RDPしたときのウィンドウ上の鍵マークをクリックすれば、設定した証明書が利用できているか確認できる。

他に方法はあるはずだと思うけど、上記手順で行えたので調査は打ち切りです。
こんな操作すること滅多にないしね。


こういう作業の何が嫌かって、万が一ミスってRDPできなくなったときだね。
データセンターのサーバーに対してやる場合、最悪データセンターに行かなくてはならなくなる・・・