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

Windows Server2019通过代理执行Add-WindowsCapability安装OpenSSH失败

解决Windows Server 2019中Add-WindowsCapability无法通过代理安装OpenSSH的问题

问题核心

你通过PowerShell设置的HTTP_PROXY/HTTPS_PROXY是用户级临时环境变量,但Add-WindowsCapability依赖的DISM(部署映像服务和管理)服务使用WinHTTP网络栈,不会读取这些变量,而是依赖系统级代理配置或显式的DISM代理参数——这就是为什么Invoke-WebRequest(使用WinINet栈)能正常走代理,但DISM相关命令无法生效的原因。

解决方案

方案1:给DISM命令显式指定代理

直接在安装命令中通过-Proxy参数指定代理,这是最直接的临时解决方式:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 -Proxy "http://10.99.99.99:80"

方案2:配置系统级WinHTTP代理

如果需要让所有DISM相关命令默认走代理,可配置WinHTTP系统代理:

  1. 若已在系统GUI中配置过代理,可直接导入到WinHTTP:
netsh winhttp import proxy source=ie
  1. 也可手动设置WinHTTP代理:
netsh winhttp set proxy proxy-server="http://10.99.99.99:80"
  1. 验证配置是否生效:
netsh winhttp show proxy

配置完成后重新运行Add-WindowsCapability命令即可。

方案3:配置系统级环境变量(永久生效)

通过设置系统级环境变量,让DISM服务能读取到代理配置:

  1. 在管理员PowerShell中执行以下命令添加系统环境变量:
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://10.99.99.99:80", [EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://10.99.99.99:80", [EnvironmentVariableTarget]::Machine)
  1. 重启PowerShell或注销重新登录,让系统变量生效后再执行安装命令。

方案4:离线安装OpenSSH(备选)

如果代理配置始终无法生效,可采用离线安装方式:

  1. 在一台能联网的Windows Server 2019机器上,下载OpenSSH的cab包:
Save-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 -Path C:\temp\
  1. 将下载的cab文件复制到目标服务器,执行离线安装:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 -Source C:\temp\

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:50:20