Folosind letsencrypt ca CA, un utilizator non-admin solicită automat un nou certificat pentru a fi utilizat de către ascultătorul winrm https, odată ce cel vechi este pe cale să expire. Pentru ca winrm să folosească efectiv certificatul, Amprenta certificată
al ascultătorului trebuie să fie setat la noua amprentă a certificatelor.
Acest lucru se poate face astfel:
Set-WSManInstance -ResourceURI winrm/config/Listener `
-SelectorSet @{Address="*";Transport="HTTPS"} `
-ValueSet @{CertificateThumbprint=$thumbprint}
Cu toate acestea, utilizatorul nostru non-administrator nu are voie să facă acest lucru (încă):
Set-WSManInstance : <f:WSManFault xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Code="5"
Machine="localhost"><f:Message>Accesul este refuzat. </f:Message></f:WSManFault>
La linia:1 char:1
+ Set-WSManInstance -ResourceURI winrm/config/Listener `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~
+ CategoryInfo: InvalidOperation: (winrm/config/Listener:Uri) [Set-WSManInstance], InvalidOperationExcep
ție
+ FullyQualifiedErrorId: WsManError, Microsoft.WSMan.Management.SetWSManInstanceCommand
Cum atribui permisiuni unui utilizator non-administrator pentru a actualiza Amprenta certificată
?
Actualizați:
Amprenta este aparent stocată în HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Listener\*+HTTPS\certThumbprint
.
Din păcate, schimbarea acelei chei de registry și repornirea serviciului WinRM duce la difuzarea în continuare a certificatului vechi. De fapt, chiar și după eliminarea certificatului din magazinul de certificate și repornirea WinRM, acesta este încă servit. Deci trebuie să existe un cache sau un proces auxiliar care trebuie șters/repornit.