PowerShell HTTPS不能正常工作

我有点困惑如何为我的本地主机configuration证书。 我的情况是这样的:

我们有两个Windows 2012服务器(未join域),我需要从一台机器远程执行PowerShell脚本。 这必须使用另一台机器的IP来完成。 我试了一下,最终可能知道该协议应该是HTTPS使用IP时,它需要一个服务器证书。

阅读这么多的博客和post使我困惑,并在我已经安装使用PowerShell创build的自签名证书的服务器中使用PowerShell。 证书被命名为computername.workgroup,位于本地计算机证书存储区中的个人。

但是,当我尝试winrm qc -transport:https无法在HTTPS上创build一个WinRM侦听器,因为这台机器没有适当的证书。

有人能帮我最早吗? 我如何通过创build所需的证书来解决这个错误? 任何帮助将真的非常感激。

https://support.microsoft.com/en-us/kb/2019527

configurationWinRM for HTTPS的目的是encryption通过线路发送的数据。

WinRM HTTPS需要本地计算机“服务器身份validation”证书,其CN与主机名相匹配,但未过期,已撤销或自签署要安装。

所以你需要先在机器上安装一个有效的证书。 这意味着它需要来自authentication机构。 没有自签名。 这可能是组织内部的CA,也可能是像Godaddy或Cyber​​trust之类的全球CA。

这也意味着使用机器的IP地址而不是其名称将不起作用,除非您可以获得具有机器IP地址作为主题备用名称(SAN)的证书。

使用WinRM https的自签名证书没有问题,但是当连接到该计算机的terminal时,您需要指定(winRM)客户端应该跳过证书检查。 你可以这样做:

$options = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck 

然后像这样设置会话:

 $session = New-PSSession -UseSSL -SessionOption $options 

我猜你正在尝试使用的证书不包含私钥,这应该是证书的唯一要求。