如何使用PowerShell更新WinRM所用的HTTPS证书?
使用PowerShell配置WinRM HTTPS证书
以下是通过PowerShell完成WinRM HTTPS证书配置的完整步骤:
1. 获取目标证书的指纹
首先定位要用于WinRM的SSL证书(需存储在本地计算机的My证书存储中,且包含私钥),可通过主题、有效期等条件筛选:
# 筛选符合要求的证书,替换CN值为你的服务器域名/IP $targetCert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "CN=你的服务器域名或IP" -and $_.NotAfter -gt (Get-Date) -and $_.HasPrivateKey } $certThumbprint = $targetCert.Thumbprint
2. 创建WinRM HTTPS监听器
使用获取到的证书指纹创建HTTPS监听器:
# 创建监听所有地址的HTTPS监听器 New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $certThumbprint -Force
-Force参数会覆盖已存在的同类型监听器(如果有的话)
3. 验证配置结果
执行以下命令确认HTTPS监听器已成功创建:
# 列出所有WinRM监听器 Get-ChildItem WSMan:\LocalHost\Listener
输出中若包含Transport=HTTPS的条目,即为配置成功。
注意事项
- 若使用自签名证书,客户端连接时需要信任该证书(可将证书导入客户端的受信任根证书存储)
- 确保Windows防火墙允许WinRM HTTPS端口(默认5986)的入站连接
- 证书的主题名称(CN)需与服务器的访问域名/IP一致,否则会出现证书验证错误
内容的提问来源于stack exchange,提问作者derekbaker783
相关产品推荐
相关产品推荐

