You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure VM中VS Code运行PowerShell函数App调用远程VM遇WinRM解析错误求助

解决WinRM服务器名称无法解析的遗漏步骤

针对你遇到的WinRM名称解析失败问题,除了已尝试的操作,还可以检查以下几个关键环节:

  • 验证目标VM的名称解析能力
    在发起请求的Azure VM上执行以下命令,确认目标VM名称能否正常解析到IP:

    nslookup [VMName]
    Resolve-DnsName [VMName]
    

    如果解析失败:

    • 暂时改用目标VM的私有IP替代名称进行测试,排除名称解析问题
    • 确认两台VM处于同一虚拟网络(VNet),或已配置VNet对等互联
    • 检查目标VM的DNS服务器设置,确保发起VM的DNS服务器能解析目标VM名称;跨VNet场景需配置DNS转发或Azure私有DNS区域
  • 检查目标VM的WinRM监听配置
    在目标VM上运行命令,确认WinRM监听的IP范围是否包含对外访问的地址:

    winrm enumerate winrm/config/listener
    

    若仅监听localhost,重新配置监听规则(HTTPS示例,需替换证书指纹):

    winrm create winrm/config/listener?Address=*+Transport=HTTPS @{Hostname="[VMName]";CertificateThumbprint="你的证书指纹"}
    

    测试阶段可临时启用HTTP监听:

    winrm create winrm/config/listener?Address=*+Transport=HTTP
    
  • 确认发起VM的NSG出站规则
    不要仅关注目标VM的入站规则,需检查发起请求的VM所在网络安全组(NSG)是否允许出站访问WinRM端口(默认HTTP为5985,HTTPS为5986),避免出站流量被拦截。

  • 调整WinRM客户端的可信主机与端点配置
    在发起VM上检查可信主机列表,确认目标VM的名称/IP已正确添加:

    Get-Item WSMan:\localhost\Client\TrustedHosts
    

    若未添加或仅添加了无法解析的名称,补充IP或更新列表:

    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "[目标VMIP或名称]" -Concatenate
    
  • 排除代理对WinRM的影响
    你配置了代理10.0.0.6:8080,需确认WinRM访问目标VM时是否绕过代理(同一VNet内无需走代理):
    查看当前代理配置:

    netsh winhttp show proxy
    

    添加目标VM到代理例外列表:

    netsh winhttp set proxy proxy-server="10.0.0.6:8080" bypass-list="[VMName],[目标VMIP]"
    
  • 验证底层网络连通性
    在发起VM上尝试ping目标VM的私有IP(需确保NSG允许ICMP流量),确认两台VM之间的基础网络连接正常。若ping不通,检查子网路由表是否存在阻止流量的规则,或VNet peering配置是否生效。

内容的提问来源于stack exchange,提问作者SANDEEP KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 20:25:15