调整 Azure VM 的大小改变了我的 IP,现在 WinRm 无法工作

Resizing my Azure VM changed my IP and now WinRm wont work

我有一个 VM,正在使用 azure devops 管道进行操作。以前,使用 WinRM 将文件传输到 VM 工作正常。但是虚拟机的内存不适合我们的需要,所以我重新调整了虚拟机的大小以添加更多内存。由于调整了 VM 的大小,VM 的 IP 地址发生了变化。这导致 WinRM 停止工作。我尝试在控制台中使用 winrm quickconfig -force,并收到此错误:

Unable to enable the firewall for WinRM.

我从主机是旧 IP 地址的 5986 中删除了 HTTPS 侦听器,但是我无法添加指向正确 IP 的新侦听器。

Start-RemotePSSession 不会失败,如果失败了,它也会默默地这样做

我查看了证书,但只能看到一个旧 IP 地址:

如何为我的新 IP 地址添加证书?或者是否有 different/better 方法来完成我正在尝试做的事情(让 winrm 再次工作)

由于您有一个颁发给旧 Public IP 地址的旧证书,您可以生成一个颁发给新 public IP 地址的新证书。

例如,

1。 转到 VM 控制台并生成 self-signed 证书进行测试。

$certificateName = "51.x.x.x"

$thumbprint = (New-SelfSignedCertificate -DnsName $certificateName -CertStoreLocation Cert:\LocalMachine\My -KeySpec KeyExchange).Thumbprint

删除旧的 https 侦听器并为 https 侦听器绑定新证书。

winrm delete winrm/config/listener?Address=*+Transport=HTTPS

$thumbprint="7AD714C2AA0EF690EEFxxxxxxD"

New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $thumbprint  –Force

列举听众。

  winrm e winrm/config/listener

注意:根据我的验证,winrm quickconfig 不适用于 self-signed 证书。您可以按照上述步骤进行管理。如果您在 Azure VM 内的 windows 防火墙中不允许端口 5986,您可以使用 PowerShell 启用它。如果您的 Azure VM 子网或关联的 NIC 中有网络安全组,您还需要为 HTTPS 端口启用它。阅读 this blog 了解更多详情。

New-NetFirewallRule -DisplayName "winrmhttps" -Direction Inbound -LocalPort 5986 -Protocol TCP -Action Allow -RemoteAddress Any