PowerShell安装SSMS报无法解析download.microsoft.com错误如何解决
问题成因
报错The remote name could not be resolved: 'download.microsoft.com'属于典型的DNS解析失败故障,和SSMS安装逻辑、脚本本身语法无关。脚本中调用的https://aka.ms/ssmsfullsetup是微软官方短链接,会自动重定向到download.microsoft.com域名下的SSMS安装包存储地址,当前AWS Windows Server实例无法完成该域名的DNS解析,导致下载流程中断。常见触发原因包括:
- 实例绑定的安全组、子网网络ACL拦截了53端口(DNS服务默认端口)的UDP/TCP出方向流量,无法发起域名解析请求
- 实例网卡配置的DNS服务器不可用:使用VPC默认DNS时未开启VPC公网域名解析能力;使用自定义公网DNS时,网络链路无法连通对应DNS服务
- 实例所在子网路由配置错误:公网子网未绑定互联网网关、私有子网未绑定可用NAT网关,没有0.0.0.0/0网段的公网出口路由,既无法完成DNS查询,也无法访问微软下载服务器
- 系统本地hosts文件存在
download.microsoft.com或aka.ms的错误静态IP映射,导致解析结果异常 - Windows Server默认开启的IE增强安全配置(IE ESC)拦截了PowerShell Web请求的初始化流程,部分场景下会抛出和DNS解析失败一致的WebException异常
- Windows Defender防火墙或第三方安全软件配置了严格的出向规则,拦截了PowerShell进程的公网访问请求
可行解决方案
按排查优先级从高到低操作即可:
- 先做基础故障定位:在PowerShell中依次执行
nslookup download.microsoft.com、Test-NetConnection download.microsoft.com -Port 443。如果nslookup直接返回域名不存在,优先排查DNS配置;如果能正常返回IP但443端口连通性测试失败,优先排查路由、防火墙规则。 - 修复DNS配置:给实例网卡临时配置可用的公共DNS地址,执行
ipconfig /flushdns清空本地DNS缓存后重新测试解析。如果是部署在私有子网的实例,确认VPC已开启DNS解析、DNS主机名功能,安全组放通出方向53端口到VPC内置DNS服务器(VPC网段第2个地址,例如10.0.0.0/16网段对应DNS为10.0.0.2)的流量,且自定义DNS配置了公网域名转发规则。 - 修复网络链路:确认公网子网已绑定互联网网关、私有子网已绑定可用NAT网关,子网关联的路由表中存在0.0.0.0/0指向对应网关的默认路由;安全组出方向放通443端口公网访问权限,网络ACL放通出方向443、53端口及对应回包流量;检查Windows Defender防火墙出向规则,确认未拦截powershell.exe的公网访问请求。
- 排查本地系统限制:
- 打开路径
C:\Windows\System32\drivers\etc\hosts,检查是否存在download.microsoft.com、aka.ms相关的静态映射条目,存在错误条目则删除后保存 - 关闭IE增强安全配置:打开服务器管理器-本地服务器,找到「IE增强的安全配置」选项,将管理员、用户组的配置均设为禁用,重启PowerShell后重试
- 打开路径
- 优化脚本兼容性:PowerShell中的
wget是Invoke-WebRequest的别名,低版本Windows Server中该命令默认依赖IE引擎,容易触发请求异常,可将脚本中所有wget命令替换为以下写法,绕过IE引擎依赖:
$ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri "https://aka.ms/ssmsfullsetup" -OutFile "SSMS-Setup-ENU.exe" -UseBasicParsing
- 兜底方案:如果实例所在环境有严格的公网访问限制无法直接下载,可在本地网络环境下载对应版本的SSMS安装包,手动上传到服务器脚本执行目录后跳过下载步骤,直接执行静默安装/更新命令即可。
内容的提问来源于stack exchange,提问作者ADEKOLA ADELEKAN
相关产品推荐
相关产品推荐

