用新证书自动重新configurationWinRM HTTPS侦听器?

我期望在服务器之间使用CredSSP来​​解决双跳问题时,在我们的所有服务器上启用WinRM HTTPS侦听器以保证安全通信。

设置这是好的 ,我们有来自内部CA的CN适当的证书,所以听众的初始设置是好的,并且工作良好。 这些证书唯一的有效期只有一年,所以一旦到期,我们需要重新configuration每台服务器上的侦听器,因为服务器证书的自动注册不会修改WinRMconfiguration中的证书指纹。

有没有人遇到这个问题很好的解决scheme?

您通常会使用Set-WSManQuickConfig -UseSSL命令在WinRM服务上configurationSSL证书。 或者,您可以手动使用Set-Item在WinRM服务上configuration指纹。 看下面的例子。

 Set-Location -Path WSMan:\localhost\Service; Set-Item -Path .\CertificateThumbprint -Value 'THUMBPRINT'; 

:确保您正在部署最新版本的Windows Management Framework核心(包括PowerShell)。 我最近遇到了一个客户的问题,即Set-WSManQuickConfig cmdlet在证书存储区中没有正确识别一个有效的SSL证书。

最近我写了一个简短的脚本来做同样的事情,你正在努力完成,下面是相关的部分。 请注意,最后你会得到一个错误,因为当你正在等待Restart-Service命令的结果时,Invoke-Command将重置WinRM服务。

 $yourCred = Get-Credential domain\account $yourServer = "your.server.fqdn" $LatestThumb = Invoke-Command -ComputerName $yourServer ` -Credential $yourCred ` -ScriptBlock { Get-ChildItem -Path Cert:\LocalMachine\My | where {$_.subject -match "CN=$yourServer"} Sort-Object -Property NotAfter | Select-Object -Last 1 -ExpandProperty Thumbprint } Set-WSManInstance -ResourceURI winrm/config/Listener ` -SelectorSet @{Address="*";Transport="HTTPS"} ` -ComputerName $yourServer ` -Credential $yourCred ` -ValueSet @{CertificateThumbprint=$LatestThumb} Invoke-Command -ComputerName $yourServer ` -Credential $yourCred ` -ScriptBlock { Restart-Service -Force -Name WinRM } 

这是运行在服务器2008 R2与Posh v3。 我敢打赌,它对付Server 2012,但它可能需要一些工作的v2。