代理后面的服务器核心的更新帮助

代理后面的服务器核心的更新帮助

我正在努力更新代理后面的服务器核心盒上的帮助。

我已经看到可以使用 netsh 设置 winhttp 代理来解决问题,但是 powershellupdate-help 显然不使用 winhttp 代理,在我的桌面上测试了它,它只使用 ie 中的代理设置。

问题:服务器核心服务器中没有 ie,因此......我尝试设置如下注册表值:

set-itemproperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -name ProxyEnable -value 1
Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyServer -Value '192.168.0.X:3128'

但它仍然不起作用,服务器核心盒绕过代理,并且帧被防火墙丢弃。 有什么想法可以让它工作吗?(不使用来自其他主机的 save-help)

答案1

同样的问题,偶然发现了这个解决方法

http://blog.stangroome.com/2013/08/02/powershell-update-help-and-an-authenticating-proxy/

[编辑以添加详细信息]

我们的代理是 NTLM 身份验证的。从文章中我使用了这两行;

$wc = New-Object System.Net.WebClient
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

然后用这个测试...

$wc.DownloadString('http://microsoft.com')

然后将前两行添加到我的 profile.ps1 并重新启动 powershell 并且 update-help 命令起作用了,以及我执行的大多数其他 web 请求。

答案2

据我所知,可更新帮助不支持代理后面的计算机。毫无疑问,这是一个明显的错误。

有一些脚本可以解决这个问题,它通过查找每个模块的 helpURI、下载包(使用常规的 webclient 对象)然后运行 ​​update-help 来指定已下载的帮助文件。

我有几个同事用过这个(如果你不懂德语,可以使用谷歌翻译),但我不知道它是否可以在服务器核心上运行。不过,我想还是值得一试:

博客文章:保存 - 离线搜索中的帮助以及使用代理的用户

答案3

我们没有身份验证代理,但我在使用 update-help 时遇到了类似的问题。似乎我们的网关可能设置为不允许来自 powershell 的请求,但允许来自 IE 的请求。在我们的例子中,运行 fiddler 允许来自 powershell 的请求通过网关\代理。不确定如何,也许 fiddler 会更改用户代理字符串或其他内容,但如果您的网络设置类似,可能值得一试。

顺便说一句,如果 Microsoft 有人在监控,请至少让 update-help -verbose 选项报告它试图请求的 URL,因为这使得故障排除变得不可能。我正在使用 fiddler 尝试找出 powershell 试图请求的 URL。

相关内容