调整Azure VM的大小会更改我的IP,现在WinRm无法正常工作

问题描述

我有一个正在使用azure devops管道处理的VM。以前,使用WinRM将文件传输到VM可以正常工作。但是虚拟机的内存不适合我们的需求,因此我调整了虚拟机的大小以添加更多内存。自调整虚拟机大小以来,虚拟机的IP地址已更改。这导致WinRM停止工作。我尝试在控制台中使用winrm quickconfig -force,并收到此错误

无法为WinRM启用防火墙。

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

Start-RemotePSSession不会失败,或者如果失败,它会地失败

我看过证书,只能看到一个用于旧IP地址的证书:

enter image description here

如何为我的新IP地址添加证书?还是有其他/更好的方法来完成我要完成的工作(使Winrm重新工作)

解决方法

由于已将旧证书颁发给了旧的公共IP地址,因此您可以生成发布给新公共IP地址的新证书。

例如,

1。 转到VM控制台并生成用于测试的自签名证书。

$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不适用于自签名证书。您可以按照上述步骤进行管理。如果您不允许在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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...