यह पता चला है कि RDSH के लिए कॉन्फ़िगरेशन डेटा का अधिकांश नाम Win32_TSGeneralSetting
WMI में वर्ग में root\cimv2\TerminalServices
नामस्थान में संग्रहीत है । किसी दिए गए कनेक्शन के लिए कॉन्फ़िगर किए गए प्रमाण पत्र को उस प्रमाण पत्र के थम्बप्रिंट मान द्वारा संदर्भित किया जाता है जिसे एक संपत्ति कहा जाता है SSLCertificateSHA1Hash
।
अद्यतन: यहां एक सामान्यीकृत पॉवर्सशेल समाधान है जो कंप्यूटर के व्यक्तिगत स्टोर में पहले एसएसएल सर्टिफिकेट के थंबप्रिंट को पकड़ता है और सेट करता है। यदि आपके सिस्टम में कई सिरे हैं, तो आपको यह सुनिश्चित -Filter
करने के लिए gci
कमांड में एक विकल्प जोड़ना चाहिए कि आप सही प्रमाणपत्र का संदर्भ लें। मैंने अपना मूल उत्तर संदर्भ के लिए नीचे छोड़ दिया है।
# get a reference to the config instance
$tsgs = gwmi -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -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"}
ताकि अंगूठे का मूल्य मिल सके
- अपने प्रमाणपत्र के लिए गुण संवाद खोलें और विवरण टैब चुनें
- थम्बप्रिंट फ़ील्ड में नीचे स्क्रॉल करें और नोटपैड जैसी जगह में सीमांकित हेक्स स्ट्रिंग को कॉपी करें
- स्ट्रिंग से सभी रिक्त स्थान निकालें। आप स्ट्रिंग में पहले चरित्र के ठीक पहले कॉपी किए जाने वाले गैर-अस्की चरित्र को देखना और निकालना चाहते हैं। यह नोटपैड में दिखाई नहीं देता है।
- यह वह मान है जिसे आपको WMI में सेट करना होगा। इसे कुछ इस तरह से देखना चाहिए: 1ea1fd5b25b8c327be2c4e4852263efdb4d16af4 ।
अब जब आपके पास थंबप्रिंट वैल्यू है, तो यहां एक-लाइनर है जिसका उपयोग आप वैमिक का उपयोग करके मान सेट करने के लिए कर सकते हैं:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"
या यदि PowerShell आपकी चीज़ है, तो आप इसके बजाय इसका उपयोग कर सकते हैं:
$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="THUMBPRINT"}
नोट: प्रमाणपत्र कंप्यूटर खाते के लिए 'व्यक्तिगत' प्रमाणपत्र स्टोर में होना चाहिए।